Table of Contents |
---|
Introduction
The Recruit API was introduced in ClinSpark 1.5.5, and significantly expands the capabilities of the previously implemented Recruitment API. Capabilities of the API are also accompanied by the use of enables customers to integrate their recruitment websites with ClinSpark. It also contains the flexibility to support other recruitment-based workflows.
Certain capabilities of the API are maintained through the ‘RecruitmentApiHandler’ system setting in ClinSpark, available to Foundry Health ‘superadmin’ users.
Currently, both APIs exist for use with recruitment website integrations. ClinSpark customers who are already integrated using the Recruitment API should continue to use as currently implemented/documented within it’s section of the help site.
If there are questions about use of the API for recruitment website integration. This system setting is managed by IQVIA superadmin users but can be modified as needed to meet customer-specific needs, depending on the use case.
...
If there are questions about use of the Recruit API for external integrations with ClinSpark, please reach out to the Foundry Health IQVIA team via the service desk.
This API is documented (and is testable using Swagger), below.
Swagger integration
showCommonExtensions | true |
---|---|
supportedSubmitMethods | get, post |
Important information on setting up the integration to your website can be found here Recruitment Website Integration
Excerpt | ||
---|---|---|
| ||
FunctionalityYour participant recruitment website developer will be able to use this API for the following:
|
Interactive Documentation with Swagger
This API is documented (and is testable using Swagger), below.
Swagger integration | ||||
---|---|---|---|---|
| ||||
openapi: 3.0.0 info: # working version: https://app.swaggerhub.com/apis/brock57/ClinSparkRecruit/1.0.0 description: >- Allows for adding of volunteers, assignment and cancellation of appointments. version: 1.0.1-oas3 title: ClinSpark Recruit servers: - url: 'https://{customerId}.clinspark.com/api/v1/recruit' variables: customerId: default: community-dev description: Customer ID assigned by the service provider - url: 'https://{ngrokPrefix}.ngrok-free.app/clinspark/api/v1/recruit' variables: ngrokPrefix: default: 8232-73-217-91-70 description: first part of ngrok-assigned id paths: /updateVolunteer: post: tags: - recruit summary: Updates a new volunteer operationId: updateVolunteer parameters: - name: reasonForChange in: query description: Reason for Change required: true schema: type: string requestBody: description: JSON volunteer to add required: true content: application/json: schema: $ref: '#/components/schemas/VolunteerUpdate' responses: '200': description: 'Success: OK message.' '401': description: 'Unauthorized: Must add Basic Authentication headers' '422': description: >- Invalid request: There are input validation errors; look at the JSON response for details. security: - basicAuth: [] /saveVolunteer: post: tags: - recruit summary: Saves a new volunteer operationId: saveVolunteer requestBody: content: application/json: schema: $ref: '#/components/schemas/Volunteer' description: JSON volunteer to add required: true responses: '200': description: 'Success: OK message.' '401': description: 'Unauthorized: Must add Basic Authentication headers' '422': description: >- Invalid request: There are input validation errors; look at the JSON response for details. security: - basicAuth: [] /findActiveStudySites: get: tags: - recruit summary: Finds study sites that are actively recruiting parameters: - name: studyName in: query description: >- Case insensitive study name used to match study sites with the corresponding name required: false schema: type: string - name: siteId in: query description: >- ID of a given site; only study sites with the corresponding site will be returned required: false schema: type: number format: integer - name: siteName in: query description: >- Case insensitive site name used to match study sites with the corresponding name required: false schema: type: string - name: locationOid in: query description: >- Case sensitive location OID used to match study sites with the corresponding OID required: false schema: type: string responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/StudySite' '401': description: 'Unauthorized: Must add Basic Authentication headers' security: - basicAuth: [] /findUnassignedAppointments: get: tags: - recruit summary: Finds appointments for the given study site parameters: - name: studySiteId in: query description: ID of a given study site required: true schema: type: number format: integer - name: cohortName in: query description: >- Case insensitive cohort name used for a wild card search; only appointments that have an assigned cohort matching will be returned required: false schema: type: string - name: appointmentType in: query description: >- Case insensitive appointment typed used for a wild card search; only appointments that have an apointment type matching will be returned required: false schema: type: string responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/RecruitmentAppointment' '401': description: 'Unauthorized: Must add Basic Authentication headers' security: - basicAuth: [] /volunteerStudySearch: get: tags: - recruit summary: >- Finds matching studies for the found volunteer using the advanced volunteer search. The advanced searches must be not be archived and must have a study associated while actively recruiting. If the advanced search also specifies a site, that site in question must match the volunteer. The boolean eligible property in the response array indicates whether or not a study match has occurred. parameters: - name: volunteerId in: query description: primary key of the volunteer required: false schema: type: integer format: integer - name: externalId in: query description: ID from source system required: false schema: type: string - name: emailAddress in: query description: Case insensitive email address required: false schema: type: string - name: mobilePhone in: query description: Will be converted to ISO format before a query takes place required: false schema: type: string responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/VolunteerSearchResult' '401': description: 'Unauthorized: Must add Basic Authentication headers' security: - basicAuth: [] /listVolunteerAppointments: get: tags: - recruit summary: >- Finds appointments for the given volunteer found by one of the parameters supplied parameters: - name: volunteerId in: query description: primary key of the volunteer required: false schema: type: integer format: integer - name: externalId in: query description: ID from source system required: false schema: type: string - name: emailAddress in: query description: Case insensitive email address required: false schema: type: string - name: mobilePhone in: query description: Will be converted to ISO format before a query takes place required: false schema: type: string responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/RecruitmentAppointment' '401': description: 'Unauthorized: Must add Basic Authentication headers' security: - basicAuth: [] /assignAppointment: post: tags: - recruit summary: Allows for assigning a given appointment to a matching volunteer parameters: - name: recruitmentAppointmentId in: query description: ID from source system required: true schema: type: number format: integer - name: volunteerId in: query description: ID from the volunteer required: false schema: type: integer - name: externalId in: query description: ID from source system required: false schema: type: string - name: emailAddress in: query description: Case insensitive email address required: false schema: type: string - name: mobilePhone in: query description: Will be converted to ISO format before a query takes place required: false schema: type: string - name: appointmentNotes in: query required: false schema: type: string responses: '200': description: successful operation content: application/json: schema: type: object '401': description: 'Unauthorized: Must add Basic Authentication headers' '422': description: rendered if appointment could not be found security: - basicAuth: [] /cancelAppointment: post: tags: - recruit summary: Allows for canceling a given appointment parameters: - name: recruitmentAppointmentId in: query description: ID from source system required: true schema: type: number format: integer responses: '200': description: successful operation content: application/json: schema: type: object '401': description: 'Unauthorized: Must add Basic Authentication headers' '422': description: rendered if appointment could not be found security: - basicAuth: [] components: securitySchemes: basicAuth: type: http scheme: basic schemas: VolunteerAnswer: type: object properties: question: type: string example: Favorite web application? description: Verbatim custom volunteer question answer: type: string description: Answer format must match that defined by the custom question Volunteer: type: object properties: id: type: integer format: integer externalId: type: string example: '987123' description: Unique identifier in originating recruitment system title: type: string example: Mr firstName: type: string example: Joseph middleName: type: string description: >- can be an initial, if no value is provided a '-' will be stored with the volunteer reocord example: Peter lastName: type: string example: Padres genderMale: type: boolean ethnicHispanic: type: boolean description: null indicates unknown otherRace: type: string description: additional race details if race type doesn't match example: Asian dateOfBirth: type: string example: '1980-05-27' description: ISO DOB in form of yyyy-MM-dd nameSuffix: type: string description: jr, II example: Jr nationality: type: string example: Belgian preferredLanguage: type: string example: English address: type: string example: 123 Yellobrick Lane city: type: string example: Chicago region: type: string description: >- should match regions configured in the volunteer configuration component; ie state / province example: Chicago country: type: string example: US postalCode: type: string example: 60657 homePhone: type: string description: >- tightly validated based on the general settings configured; should be as close to ISO format as possible with leading country code. https://github.com/google/libphonenumber is used for underlying validation example: +1312 554 1218 workPhone: type: string description: see homePhone example: +1312 554 1218 mobilePhone: type: string description: same rules apply as homePhone, but must be unique in database example: +1312 554 1218 phoneNotes: type: string description: can be arbitrary notes to guide recruiters about making phone calls example: contactableByPhone: type: boolean description: volunteer's permission to be contacted by phone default: true contactableBySms: type: boolean description: volunteer's permission to be contacted by SMS default: true contactableByEmailCampaign: type: boolean description: volunteer's permission to be contacted by emails default: true nextOfKin: type: string description: >- notes generally about who to contact should there be a reason to do so in an emergency situation volunteerEmploymentStatus: type: string enum: - Unemployed - Student - EmployedPartTime - EmployedFullTime - Retired weightKilos: type: number format: double example: 123.45 heightMeters: type: number format: double example: 2.12 vegetarian: type: boolean description: null indicates unknown surgicallySterile: type: boolean default: false contraceptionType: type: string example: Abstinence description: should match a type configured in the volunteer configure component numberOfChildren: type: integer description: value should only be present for females minimum: 0 maximum: 20 menstruationStartAge: type: integer description: value should only be present for females minimum: 8 maximum: 50 menstruationEndAge: type: integer description: value should only be present for females minimum: 10 maximum: 100 lastPeriodStartDate: type: string example: '2024-05-27' description: In form of yyyy-MM-dd; value should only be present for females regularPeriodIntervalDays: type: integer description: value should only be present for females minimum: 0 maximum: 100 regularPeriodDurationDays: type: integer description: value should only be present for females minimum: 0 maximum: 100 currentlyPregnant: type: boolean description: value should only be present for females default: false currentlyBreastFeeding: type: boolean description: value should only be present for females default: false childBearingPotential: type: boolean description: value should only be present for females default: false allergies: type: boolean description: null indicates unknown emailAddress: type: string example: something@domain.com description: >- must be unique; strictly validated using Apache Commons Email Validator framework contactSource: type: string description: >- describes how a volunteer contact occurred; should match a source configured in the volunteer configure component generalPractitioner: type: string description: volunteer's physician example: Joseph Smith generalPractitionerPhoneNumber: type: string description: volunteer's physician phone number example: +1312 555 1212 generalPractitionerAddress: type: string description: volunteer's physician address example: 232 Yellobrick Lane siteName: type: string example: Base Site description: >- the name of the site that the volunteer should be associated with; if not provided, use siteId siteId: type: integer format: integer example: -1 description: >- the id of the site that the volunteer should be associated with; if not provided, use siteName paymentStrategy: type: string enum: - IBAN - ABA example: IBAN ibanAccount: type: string description: 'Unauthorizedexample: Must add BasicES9121000418450200051332 Authentication headers' '422'description: Used if IBAN is chosen as Payment Strategy. Validated description: >-using iban4j.org ibanBank: Invalid request: There are input validation errors; looktype: atstring the JSON example: CAIXESBB666 response for details. securitydescription: Used if IBAN is chosen as Payment Strategy. Validated - basicAuth: []using iban4j.org /findActiveStudySites: getabaAccount: tags: type: string - recruit summaryexample: Finds123456789 study sites that are actively recruiting parametersdescription: Used if ABA is chosen as Payment Strategy. -Validated name:using studyNameABANumberCheckDigit library. inabaBank: query descriptiontype: >-string example: Case021000021 insensitive study name used to match study sites with the description: Used if ABA is chosen as Payment Strategy. Validated correspondingusing nameABANumberCheckDigit library. requiredpreviousStudyParticipation: false schematype: boolean typevolunteerAnswers: string - nametype: siteIdarray inexample: query description: >- question: Favorite web application? ID of a given site; onlyanswer: studyGmail sites with the corresponding site - question: Favorite number? will be returned required: falseanswer: '123' - schemaquestion: Favorite decimal? type: number answer: '123.4' format: int64 - question: Favorite date? - name: siteName inanswer: query'1969-07-20' description: >- Casearray insensitiveof sitesimple nameobjects usedwith toverbatim matchClinSpark study sites with thequestions and corresponding nameanswers requireditems: false schema$ref: '#/components/schemas/VolunteerAnswer' typevolunteerNotes: string - nametype: locationOidarray inexample: query description: >- Volunteer travels often Case sensitive location OID- usedIs toafraid match study sites with theof needles description: Simple notes correspondingthat OIDmove to a volunteer notes section required: false schemaitems: type: string responses: '200'volunteerRaces: descriptiontype: successful operationarray contentexample: - application/json:American Indian or Alaska Native schemadescription: Must match race names defined in ClinSpark typeitems: array type: string items: volunteerSubstanceUse: type: objectarray example: properties: {} - securitysubstanceUseCategory: Alcohol - basicAuth: [] /findUnassignedAppointments: getname: Beer tags: -useFrequency: recruitWeek summary: Finds appointments for the given study site useConsumption: '5' parameters: - nameconsumptionUnit: studySiteId Glass/Bottle (.5L) in: query substanceUseStatus: Social description: ID of a given study site startDate: '2001' required: true lastConsumed: '2021-07-21' schema: typesubstanceNotes: numberEnjoys heavy IPAs formatdescription: int64>- - name: cohortName array of simple objects with verbatim ClinSpark questions and in: query description:corresponding >-answers items: Case insensitive cohort name used for a wild card search; only $ref: '#/components/schemas/VolunteerSubstanceUse' VolunteerUpdate: appointments thattype: haveobject an assigned cohort matching will be returnedproperties: requiredid: false schematype: integer typeformat: stringinteger - nameexternalId: appointmentType intype: querystring descriptionexample: >- '987123' Case insensitivedescription: appointmentUnique typedidentifier usedin fororiginating arecruitment wildsystem card search; only title: appointments that have an apointment type: matchingstring will be returned requiredexample: falseMr firstName: schema: type: string type: string responsesexample: Joseph '200' middleName: descriptiontype: successfulstring operation contentdescription: >- application/json: can be an initial, if no value is provided a '-' will be stored schema:with the volunteer reocord type: array lastName: itemstype: string example: Padres $refgenderMale: '#/components/schemas/RecruitmentAppointment' '400'type: boolean descriptionethnicHispanic: Invalid username supplied '404':type: boolean description: null indicates Userunknown not found securityotherRace: - basicAuthtype: string [] /listVolunteerAppointments: getdescription: additional race details if race type doesn't tags:match -dateOfBirth: recruit summary: >- type: string Finds appointments for the given volunteer found by one of theexample: '1980-05-27' description: ISO DOB parametersin suppliedform of yyyy-MM-dd parameters: nameSuffix: - name: externalId type: string in: query description: jr, II description: ID from source systemnationality: requiredtype: falsestring schemapreferredLanguage: type: string - nameaddress: emailAddress intype: querystring descriptioncity: Case insensitive email address requiredtype: falsestring schemaregion: type: string - namedescription: >- mobilePhone in: queryshould match regions configured in the volunteer configuration description: Will be converted to ISO format before a querycomponent; takesie placestate / province requiredcountry: false schematype: string postalCode: type: string responsestype: string '200' homePhone: descriptiontype: string successful operation description: >- content: tightly validated application/json:based on the general settings configured; should schema: be as close to ISO format as possible with leading country code. type: array https://github.com/google/libphonenumber is used for underlying items: validation $refworkPhone: '#/components/schemas/RecruitmentAppointment' '400'type: string description: Invalidsee usernamehomePhone supplied '404'mobilePhone: descriptiontype: Userstring not found security: description: same rules apply as homePhone, but -must basicAuth:be []unique in /assignAppointment: database post: tagsphoneNotes: - recruit type: string summary: Allows for assigning a given appointmentdescription: tocan abe matchingarbitrary volunteernotes to guide recruiters about making phone parameters:calls - namecontactableByPhone: recruitmentAppointmentId intype: queryboolean description: ID from source system volunteer's permission to be contacted by phone requireddefault: true contactableBySms: schema: type: boolean type: number description: volunteer's permission to be contacted by format:SMS int64 - namedefault: externalIdtrue incontactableByEmailCampaign: query descriptiontype: IDboolean from source system description: volunteer's permission required:to falsebe contacted by emails schema: default: true typenextOfKin: string - nametype: emailAddressstring indescription: query>- description: Case insensitivenotes emailgenerally addressabout who to contact should there be a reason to do required: false schema:so in an emergency situation typevolunteerEmploymentStatus: string - nametype: mobilePhonestring inenum: query - description:Unemployed Will be converted to ISO format before a query takes place - Student required: false - EmployedPartTime schema: - EmployedFullTime type: string - responses:Retired '200'weightKilos: descriptiontype: number successful operation format: double content: example: 123.45 application/json: heightMeters: schema: type: number format: double type: object '422'example: 2.12 descriptionvegetarian: rendered if appointment could not be found type: boolean security: - basicAuthdescription: []null indicates unknown /cancelAppointment: post: surgicallySterile: tags: type: boolean - recruit summary: Allows fordefault: cancelingfalse a given appointment contraceptionType: parameters: - nametype: recruitmentAppointmentIdstring inexample: queryAbstinence description: ID from source system should match a type configured in the volunteer configure component requirednumberOfChildren: true schematype: integer typedescription: numbervalue should only be present for females format: int64 minimum: 0 responses: '200'maximum: 20 descriptionmenstruationStartAge: successful operation contenttype: integer application/jsondescription: value should only be present for females schema: minimum: 8 typemaximum: object50 '422'menstruationEndAge: descriptiontype: renderedinteger if appointment could not be found description: value should security:only be present for females - basicAuth: [] components: securitySchemesminimum: 10 basicAuth: typemaximum: 100 http schemelastPeriodStartDate: basic schemas: VolunteerAnswertype: string type: object example: '2024-05-27' properties: questiondescription: In form of yyyy-MM-dd; value should only be present for type:females string regularPeriodIntervalDays: example: Favorite web application? type: integer description: Verbatim custom volunteer question description: value should only be present for answer:females typeminimum: string0 descriptionmaximum: Answer100 format must match that defined by the custom question regularPeriodDurationDays: Volunteer: type: objectinteger properties: description: value should only externalId:be present for females typeminimum: string0 examplemaximum: 100 '987123' currentlyPregnant: description: Unique identifier in originating recruitment system type: boolean title: description: value should only be present type:for stringfemales exampledefault: Mrfalse firstNamecurrentlyBreastFeeding: type: stringboolean exampledescription: Joseph value should only be present for middleName:females typedefault: stringfalse childBearingPotential: description: >- type: boolean can be an initial, if no value isdescription: providedvalue a '-' willshould only be storedpresent withfor females default: thefalse volunteer reocord lastNameallergies: type: stringboolean exampledescription: Padresnull indicates unknown genderMaleemailAddress: type: booleanstring ethnicHispanicexample: something@domain.com typedescription: >- boolean must description:be nullunique; indicatesstrictly unknownvalidated using Apache Commons Email otherRace: Validator framework type: string contactSource: description: additional race details if race type: string doesn't match dateOfBirthdescription: >- type: string describes how a volunteer contact occurred; should match a example: '1980-05-27'source description: ISOconfigured DOBin inthe formvolunteer of yyyy-MM-ddconfigure component nameSuffixgeneralPractitioner: type: string description: volunteer'jr,s II'physician nationalitygeneralPractitionerPhoneNumber: type: string preferredLanguage: description: volunteer's physician phone number type: string addressgeneralPractitionerAddress: type: string citydescription: volunteer's physician address typesiteId: string regiontype: integer typeformat: stringinteger descriptionexample: >-1 should match regions configured in the volunteer configurationdescription: >- the id of component;the iesite statethat /the provincevolunteer should be associated with; if country: not provided, type:use stringsiteName postalCodepaymentStrategy: type: string homePhone: enum: type: string- IBAN description: >- - ABA tightly validated based on the generalexample: settingsIBAN configured; should ibanAccount: be as close to ISO format astype: possiblestring with leading country code. example: ES9121000418450200051332 https://github.com/google/libphonenumber is used for underlying description: Used if IBAN is chosen as Payment Strategy. Validated using validationiban4j.org workPhoneibanBank: type: string descriptionexample: CAIXESBB666 see homePhone mobilePhonedescription: Used if IBAN is chosen as Payment Strategy. Validated using type:iban4j.org string abaAccount: description: 'same rules apply as homePhone, but must betype: uniquestring in database' phoneNotesexample: 123456789 typedescription: stringUsed if ABA is chosen as Payment Strategy. Validated using ABANumberCheckDigit description:library. can be arbitrary notes to guide recruiters aboutabaBank: making phone calls contactableByPhonetype: string typeexample: boolean021000021 description: volunteer'sUsed permissionif toABA beis contactedchosen byas phonePayment default: trueStrategy. Validated using ABANumberCheckDigit library. contactableBySmspreviousStudyParticipation: type: boolean VolunteerSubstanceUse: descriptiontype: volunteer'sobject permission to be contacted by SMS properties: substanceUseCategory: default: true contactableByEmailCampaigntype: string typeexample: booleanAlcohol descriptionenum: volunteer's permission to be contacted by emails - Alcohol default: true - Caffeine nextOfKin: type: string- Tobacco description: >- - Drugs name: notes generally about who to contact should there be a reasontype: tostring do description: >- so in an emergency situation must be volunteerEmploymentStatus:associated with the relevant category defined in the type: string volunteer configure component enum: useFrequency: - Unemployed type: string - Student description: provides context to the useConsumption - EmployedPartTime default: Week - EmployedFullTime enum: - Retired - Day weightKilos: - Week type: number - Month format: double example: 123.45- Year heightMetersuseConsumption: type: numberstring formatdescription: >- double the example: 2.12 vegetarian:amount of the substance consumed in the defined frequency; type:should booleanbe a number description: null indicates unknowndefault: '5' surgicallySterileconsumptionUnit: type: booleanstring defaultdescription: false>- contraceptionType: must be associated with the relevant category type:/ stringname defined in the example: Abstinence volunteer configure component description: should match a type configured in the volunteer configure componentdefault: Glass/Bottle (.5L) numberOfChildrensubstanceUseStatus: type: integerstring descriptionenum: value should only be present for females - Social minimum: 0 - Regular maximum: 20 menstruationStartAge: - Previous typestartDate: integer type: description:string value should only be present for females description: >- minimum: 8 yyyy-MM-dd; for partial dates, simply maximum:omit 50the fields 2009 would be menstruationEndAge: 2009, Jan of type:2008 integerwould be 2008-01, Feb 12 2007 would be 2007-02-12 description: value should only be present forendDate: females minimumtype: 10string maximumdescription: see 100startDate lastPeriodStartDatelastConsumed: type: string description: Insee formstartDate of yyyy-MM-dd; value should only be present for females regularPeriodIntervalDays substanceNotes: type: integerstring description: valuegeneral shouldnotes onlyabout bethe presentsubstance foruse females RecruitmentAppointment: minimumtype: 0object maximumproperties: 100 regularPeriodDurationDaysid: type: integer descriptionformat: integer value should only be present for femalesappointmentType: minimumtype: 0string maximumexample: 100Screening currentlyPregnant: description: configured with study site details type: boolean appointmentNumber: description: value should only be present fortype: femalesstring defaultexample: falseA0001 currentlyBreastFeedingestimatedAppointmentDurationMinutes: type: booleaninteger descriptionformat: valueint32 should only be present for females defaultexample: false60 childBearingPotentialappointmentNotes: type: booleanstring descriptionappointmentTime: value should only be present for females type: string default: false description: ISO date time in allergies:UTC typecohort: boolean description: null indicates unknown$ref: '#/components/schemas/Cohort' emailAddressrecruitmentAppointmentStatus: type: string descriptionenum: >- must be unique; strictly validated using Apache Commons Email- Unassigned - Assigned Validator framework contactSource: - CheckedIn type: string - Failed description: >- - Success describes how a volunteerdateCreated: contact occurred; should match a source type: string configured in the volunteer configure componentformat: date-time generalPractitionerlastUpdated: type: string descriptionformat: volunteer's physiciandate-time studyName: generalPractitionerPhoneNumber: type: string descriptionexample: volunteer's physicianABC123 phone number generalPractitionerAddressstudyId: type: stringinteger descriptionexample: volunteer's physician113 address siteNamestudyState: type: string exampleenum: Base Site - description:ACTIVE >- - theARCHIVED name of the site that the volunteer should be associated with; - DESIGN if not provided, use- siteIdLOCKED siteIdepochs: type: integerarray formatitems: int64 example$ref: -1'#/components/schemas/EpochShort' descriptionCohort: >- type: object properties: the id of the sitedisabled: that the volunteer should be associated with; if type: boolean not provided, usedefault: siteNamefalse volunteerAnswersrequireVolunteerRecruitment: type: arrayboolean exampledefault: false name: - question: Favorite web application? type: string answerexample: GmailCohort 1 description: - question: Favorite number? type: string answersubjectNumberAction: '123' type: string - question: Favorite decimal? enum: answer: '123.4' - SCREENING - question: Favorite date? - LEAD_IN answer: '1969-07-20'- RANDOMIZATION description: >- APPOINTMENT dataLocked: array of simple objects with verbatim ClinSpark questions andtype: boolean description: corresponding>- answers items: is data associated with the cohort locked for further data $ref: '#/components/schemas/VolunteerAnswer' volunteerRaces:collection? typedefault: arrayfalse recruitmentActive: example: type: boolean - American Indian or Alaska Native description: is the cohort active for recruitment description: Must match race names defined in ClinSparkrecruitmentMaleGoal: itemstype: number typeformat: stringint32 volunteerSubstanceUserecruitmentFemaleGoal: type: arraynumber exampleformat: int32 recruitmentGoal: - substanceUseCategory: Alcohol type: number name: Beer format: int32 VolunteerSearchResult: useFrequencytype: Weekobject properties: useConsumptioneligible: '5' type: boolean consumptionUnit: Glass/Bottle (.5L) description: true if the volunteer matches criteria of the volunteer substanceUseStatus:search Social default: false startDate: '2001' name: lastConsumedtype: '2021-07-21'string description: the name of substanceNotes:the Enjoysadvanced heavysearch IPAs description: >-study: array of simple objects with verbatim ClinSpark questions and $ref: '#/components/schemas/Study' site: corresponding answers $ref: '#/components/schemas/Site' itemscohort: $ref: '#/components/schemas/VolunteerSubstanceUseCohort' VolunteerSubstanceUseSite: type: object properties: substanceUseCategoryid: type: stringinteger exampleformat: Alcoholinteger enumarchived: type: boolean - Alcohol description: is site archived? - Caffeine default: false - Tobacco name: - Drugs type: string name: example: Grafton type: string volunteerRegionLabel: description: >- type: string must beexample: associatedState with the relevant category defined in the description: allows for customizing a region (ie State, Province, volunteeretc) configure component useFrequencyvolunteerEnrollmentConfirmationStatement: type: string description: providesstatement contextmade toduring thepoint useConsumptionof enrollment when staff is present default: Week heightUnits: enum: type: string - Dayenum: - WeekMeters - MonthCentimeters - YearInches useConsumptionweightUnits: type: string descriptionenum: >- - theKilo amount of the substance consumed in the defined frequency; - Pound should beaddress: a number type: string default: '5' consumptionUnitdescription: street address typecity: string type: description:string >- stateProvince: must be associated with the relevant categorytype: /string name defined in the postalCode: volunteer configure component type: string defaultcountry: Glass/Bottle (.5L) substanceUseStatustype: string typephoneNumber: string enumtype: string faxNumber: - Social type: string - Regular timeZoneId: -type: Previousstring startDateinvestigatorId: type: string descriptioninvestigatorName: >- type: string yyyy-MM-dd; for partial dates,Study: simply omit the fields 2009 would betype: object properties: 2009, Jan of 2008 wouldid: be 2008-01, Feb 12 2007 would be 2007-02-12 type: integer endDate: format: integer type: string studyState: description: see startDate type: string lastConsumed: enum: type: string - DESIGN description: see startDate substanceNotes:- ACTIVE type: string - LOCKED description: general notes about the substance- useARCHIVED RecruitmentAppointment: name: type: object propertiestype: string iddescription: type: integerstring protocolName: format: int64 appointmentTypetype: string typeepochs: string exampletype: Screeningarray descriptionitems: configured with study site details appointmentNumber:$ref: '#/components/schemas/Epoch' Epoch: type: stringobject example: A0001properties: estimatedAppointmentDurationMinutesdisabled: type: integerboolean formatdefault: int32false appointmentNotesname: type: string appointmentTime: typeexample: string Treatment description: ISO date time in UTC cohort:type: string $refexample: '#/components/schemas/Cohort'Treatment recruitmentAppointmentStatuscohorts: type: stringarray enumitems: - Unassigned$ref: '#/components/schemas/Cohort' EpochShort: type: -object Assigned properties: - CheckedIn disabled: type: -boolean Failed default: false - Success dateCreatedname: type: string formatexample: date-timeTreatment lastUpdateddescription: type: string formatexample: date-timeTreatment CohortStudySite: type: object properties: disabledid: type: booleaninteger defaultformat: falseinteger requireVolunteerRecruitmentunassignedAppointmentCount: type: booleannumber defaultformat: falseint32 nameappointmentTypes: type: stringarray example: Cohort 1 description: - Screening type: string - OPV subjectNumberAction: items: type: string enumtype: string locationOid: - SCREENING type: string - LEAD_IN example: '1' - RANDOMIZATION investigatorId: -type: APPOINTMENTstring dataLockedinvestigatorName: type: booleanstring appointmentsRequireRecruitmentVolunteer: description: >- type: boolean is dataappointmentsRequireRecruitmentVolunteerInCohort: associated with the cohort locked for further data type: boolean collection?recruitmentDescription: defaulttype: falsestring recruitmentActivedefaultAppointmentDurationMinutes: type: booleannumber descriptionformat: is the cohort active for recruitmentint32 recruitmentMaleGoal: type: number format: int32 recruitmentFemaleGoal: type: number format: int32 recruitmentGoalsite: type: number$ref: '#/components/schemas/Site' study: format$ref: int32'#/components/schemas/Study' |