...
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 IQVIA ‘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 it as currently implemented/documented within it’s section of the help site.. 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 recruitment website integrationexternal integrations with ClinSpark, please reach out to the IQVIA team via the service desk. Specific support for the design and configuration of your website is not provided, but we are able to support our APIs.
Functionality
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
...
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 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: default: community-dev type: string description: Customer IDresponses: assigned by the service provider - url: '200'https://{ngrokPrefix}.ngrok-free.app/clinspark/api/v1/recruit' variables: ngrokPrefixdescription: successful operation default: 8232-73-217-91-70 content: description: first part of ngrok-assigned id pathsapplication/json: /updateVolunteer: post: tagsschema: - recruit summarytype: Updatesobject a new volunteer operationId'401': updateVolunteer parameters: description: 'Unauthorized: Must add Basic Authentication -headers' name: reasonForChange in: query'422': description: Reasonrendered forif Changeappointment could not be found requiredsecurity: true - basicAuth: schema[] /cancelAppointment: post: typetags: string requestBody: - recruit descriptionsummary: JSONAllows volunteerfor tocanceling adda given appointment requiredparameters: true - contentname: recruitmentAppointmentId application/jsonin: query schemadescription: ID from source system $refrequired: '#/components/schemas/Volunteer' true responsesschema: '200': type: number descriptionformat: 'Success: OK message.'integer responses: '401200': description: 'Unauthorized:successful Mustoperation add Basic Authentication headers' content: '422': descriptionapplication/json: >- Invalid requestschema: There are input validation errors; look at the JSON type: object response for details. '401': security: description: 'Unauthorized: Must add Basic -Authentication basicAuth:headers' [] /saveVolunteer: post'422': tags: description: rendered if appointment could not -be recruitfound summarysecurity: Saves a new volunteer - operationIdbasicAuth: saveVolunteer[] components: securitySchemes: requestBody: basicAuth: contenttype: http scheme: basic application/jsonschemas: VolunteerAnswer: type: object schema: properties: $refquestion: '#/components/schemas/Volunteer' descriptiontype: JSON volunteerstring to add requiredexample: trueFavorite web application? responses: description: Verbatim custom '200':volunteer question description: 'Successanswer: OK message.' '401'type: string description: 'Unauthorized:Answer Mustformat addmust Basicmatch Authenticationthat headers'defined by the custom question '422'Volunteer: type: object description: >- properties: id: Invalid request: There are input validation errors; look at the JSONtype: integer format: responseinteger for details. securityexternalId: - basicAuthtype: string [] /findActiveStudySites: getexample: '987123' tags: description: Unique identifier in originating recruitment system - recruit title: summary: Finds study sites that are actively recruiting type: string parameters: example: Mr - name: studyName firstName: intype: string query example: Joseph description: >- middleName: Case insensitive studytype: namestring used to match study sites with the description: >- corresponding name can be an initial, if no value is provided a '-' required:will falsebe stored with schema: the volunteer reocord typeexample: stringPeter lastName: - name: siteId type: string in: query example: Padres descriptiongenderMale: >- type: boolean ID of a given site; only studyethnicHispanic: sites with the corresponding site type: boolean will be returned description: null indicates unknown requiredotherRace: false type: string schema: description: additional race details if race type: numberdoesn't match formatexample: int64Asian - name: siteNamedateOfBirth: intype: querystring descriptionexample: >-'1980-05-27' description: ISO DOB in form Case insensitive site name used to match study sites with theof yyyy-MM-dd nameSuffix: type: string corresponding name description: jr, II required: false example: Jr schema: nationality: type: string - nameexample: locationOidBelgian preferredLanguage: in: query type: string description: >- example: English address: Case sensitive location OID used to match study sites with thetype: string example: 123 Yellobrick corresponding OIDLane city: required: false type: string schema: example: Chicago typeregion: string responsestype: string '200'description: >- description: successfulshould operationmatch regions configured in the volunteer configuration content: component; ie state / province application/json: example: Chicago schemacountry: type: string type: array example: US postalCode: itemstype: string example: 60657 $refhomePhone: '#/components/schemas/StudySite' '401'type: string description: 'Unauthorized:>- Must add Basic Authentication headers' tightly security:validated based on the general settings configured; should - basicAuth: [] /findUnassignedAppointments: be get:as close to ISO format as possible tags:with leading country code. - recruit summary: Finds appointments for the given study sitehttps://github.com/google/libphonenumber is used for underlying validation parameters: - nameexample: studySiteId+1312 554 1218 inworkPhone: query descriptiontype: IDstring of a given study site description: see homePhone required: true schemaexample: +1312 554 1218 typemobilePhone: number format: int64type: string - namedescription: cohortNamesame rules apply as homePhone, but must be unique in: querydatabase descriptionexample: >-+1312 554 1218 phoneNotes: Case insensitive cohort name used for a wild card search;type: onlystring description: can appointmentsbe thatarbitrary havenotes anto assignedguide cohortrecruiters matchingabout willmaking bephone returnedcalls requiredexample: false schemacontactableByPhone: type: boolean string - namedescription: appointmentType volunteer's permission to be contacted by phone in: query default: true description: >- contactableBySms: Case insensitive appointment typedtype: usedboolean for a wild card search; only description: volunteer's permission to be contacted by SMS appointments that have an apointment type matching will be returned default: true requiredcontactableByEmailCampaign: false schematype: boolean type: string responses:description: volunteer's permission to be contacted by emails '200':default: true nextOfKin: description: successful operation type: string content: description: >- application/json: notes generally about who to contact should schema:there be a reason to do type: arrayso in an emergency situation volunteerEmploymentStatus: items: type: string $refenum: '#/components/schemas/RecruitmentAppointment' '401': - Unemployed description: 'Unauthorized: Must add Basic Authentication headers'- Student security: - EmployedPartTime - basicAuth: [] /volunteerStudySearch: get: - EmployedFullTime tags: - recruitRetired summary: >- weightKilos: Finds matching studies fortype: thenumber found volunteer using the advanced format: double volunteer search. The advanced searches must be not be archived and mustexample: 123.45 have a study associated while actively recruiting. If the advancedheightMeters: type: number search also specifies a site, that site informat: questiondouble must match the example: volunteer2.12 The boolean eligible property in the response array indicatesvegetarian: whether or nottype: aboolean study match has occurred. parametersdescription: null indicates unknown - namesurgicallySterile: volunteerId intype: queryboolean description: primary key of the volunteerdefault: false contraceptionType: requiredtype: falsestring schemaexample: Abstinence description: should match a type: configured integerin the volunteer configure component formatnumberOfChildren: int64 - nametype: externalIdinteger in: querydescription: value should only be present for females descriptionminimum: 0 ID from source system maximum: 20 required: false menstruationStartAge: schema: type: integer type: string description: value should only be present - name: emailAddressfor females inminimum: query8 descriptionmaximum: Case50 insensitive email address menstruationEndAge: required: false type: integer schema: description: value should only be present for type:females string - nameminimum: mobilePhone10 inmaximum: query100 lastPeriodStartDate: description: Will be converted to ISO format before a querytype: takesstring place requiredexample: false'2024-05-27' schemadescription: In form of yyyy-MM-dd; value should only be present for females type: string regularPeriodIntervalDays: responses: '200'type: integer description: successful operationvalue should only be present for females content: minimum: 0 application/json: maximum: 100 schemaregularPeriodDurationDays: type: integer type: array description: value should only be present for females items: minimum: 0 $refmaximum: '#/components/schemas/VolunteerSearchResult'100 '401'currentlyPregnant: descriptiontype: 'Unauthorized:boolean Must add Basic Authentication headers' securitydescription: value should only be present for females - basicAuth: [] /listVolunteerAppointments: getdefault: false tags: currentlyBreastFeeding: - recruit type: boolean summary: >- description: Findsvalue appointmentsshould foronly thebe givenpresent volunteerfor foundfemales by one of the default: false parameters supplied parameterschildBearingPotential: - nametype: volunteerIdboolean indescription: queryvalue should only be present for females description: primary key of the volunteer default: false requiredallergies: false schematype: boolean typedescription: integernull indicates unknown formatemailAddress: int64 - nametype: externalIdstring inexample: querysomething@domain.com description: ID from source system >- must be unique; strictly validated using required:Apache falseCommons Email schema: Validator framework typecontactSource: string - nametype: emailAddressstring indescription: query>- description: Case insensitivedescribes emailhow addressa volunteer contact occurred; should match a source required: false configured in the schema:volunteer configure component typegeneralPractitioner: string - nametype: mobilePhonestring indescription: volunteer's queryphysician descriptionexample: WillJoseph beSmith converted to ISO format before a query takes placegeneralPractitionerPhoneNumber: requiredtype: falsestring schemadescription: volunteer's physician phone number type: string example: +1312 555 1212 responses: '200'generalPractitionerAddress: descriptiontype: successfulstring operation content: description: volunteer's physician address application/jsonexample: 232 Yellobrick Lane siteName: schema: type: string type: array example: Base Site description: >- items: the name of the site that the volunteer $ref: '#/components/schemas/RecruitmentAppointment' should be associated with; '401': if not provided, use siteId description: 'Unauthorized: Must add Basic Authentication headers' siteId: security: type: integer - basicAuth: [] /assignAppointment: postformat: integer tags: example: -1 - recruit summarydescription: Allows>- for assigning a given appointment to a matching volunteer the id of parameters:the site that the volunteer should be associated with; -if name: recruitmentAppointmentId in:not queryprovided, use siteName descriptionpaymentStrategy: ID from source system type: string required: true schemaenum: type: number - IBAN format: int64 - ABA - name: volunteerId inexample: query IBAN descriptionibanAccount: ID from the volunteer requiredtype: falsestring schemaexample: ES9121000418450200051332 typedescription: int64Used if IBAN is chosen as Payment Strategy. Validated - name: externalIdusing iban4j.org ibanBank: in: query type: string description: ID from source system example: CAIXESBB666 required: false description: Used if IBAN is chosen as schema:Payment Strategy. Validated using iban4j.org typeabaAccount: string - nametype: emailAddressstring inexample: query123456789 description: Case insensitive email address Used if ABA is chosen as Payment Strategy. Validated using ABANumberCheckDigit library. requiredabaBank: false schematype: string typeexample: string 021000021 - name: mobilePhone description: Used if ABA is chosen as Payment Strategy. in:Validated queryusing ABANumberCheckDigit library. descriptionpreviousStudyParticipation: Will be converted to ISO format before a query takes placetype: boolean requiredvolunteerAnswers: false schematype: array typeexample: string - name: appointmentNotes - question: Favorite web application? in: query answer: Gmail required: false - schemaquestion: Favorite number? type: string responsesanswer: '123' '200': - question: Favorite decimal? description: successful operation contentanswer: '123.4' application/json: - question: Favorite date? schema: answer: '1969-07-20' typedescription: object>- '401': array of simple objects with verbatim ClinSpark description: 'Unauthorized: Must add Basic Authentication headers'questions and corresponding '422':answers descriptionitems: rendered if appointment could not be found security$ref: '#/components/schemas/VolunteerAnswer' - basicAuthvolunteerNotes: [] /cancelAppointment: posttype: array tags: example: - recruit summary: Allows- forVolunteer cancelingtravels a givenoften appointment parameters: - Is afraid of -needles name: recruitmentAppointmentId description: Simple in:notes querythat move to a volunteer notes section description: ID from source system items: required: true type: string schema: volunteerRaces: type: numberarray example: format: int64 responses: - American Indian or Alaska Native '200': description: successful operation Must match race names defined in ClinSpark contentitems: application/jsontype: string volunteerSubstanceUse: schema: type: array typeexample: object '401': - substanceUseCategory: Alcohol description: 'Unauthorized: Must add Basic Authentication headers' name: Beer '422': useFrequency: Week description: rendered if appointment could not be found securityuseConsumption: '5' - basicAuth: [] components: securitySchemesconsumptionUnit: Glass/Bottle (.5L) basicAuth: type: http substanceUseStatus: Social scheme: basic schemas: VolunteerAnswer: startDate: '2001' type: object properties: lastConsumed: '2021-07-21' question: typesubstanceNotes: Enjoys heavy stringIPAs exampledescription: Favorite>- web application? array description:of Verbatimsimple customobjects volunteerwith questionverbatim ClinSpark questions and answer: corresponding answers type: string items: description: Answer format must match that defined by the custom question$ref: '#/components/schemas/VolunteerSubstanceUse' VolunteerVolunteerUpdate: type: object properties: id: type: integer format: int64integer 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 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 dateOfBirth: type: string example: '1980-05-27' description: ISO DOB in form of yyyy-MM-dd nameSuffix: type: string description: jr, II nationality: type: string preferredLanguage: type: string address: type: string city: type: string region: type: string description: >- should match regions configured in the volunteer configuration component; ie state / province country: type: string postalCode: type: string 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 workPhone: type: string description: see homePhone mobilePhone: type: string description: same rules apply as homePhone, but must be unique in database phoneNotes: type: string description: can be arbitrary notes to guide recruiters about making phone calls 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 descriptionemailAddress: null indicates unknown type: emailAddress:string typeexample: stringsomething@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 generalPractitionerPhoneNumber: type: string description: volunteer's physician phone number generalPractitionerAddress: type: string description: volunteer's physician address siteName: type: string example: Base Site description: >- number the name ofgeneralPractitionerAddress: the site that the volunteer should be associated with; type: string if not provided, use siteIddescription: volunteer's physician address siteId: type: integer format: int64integer example: -1 description: >- the id of the site that the volunteer should be associated with; if not provided, use siteName volunteerAnswerspaymentStrategy: type: arraystring example: enum: - question: Favorite web application?- IBAN answer: Gmail- ABA - questionexample: FavoriteIBAN number? ibanAccount: answer: '123' type: string - question: Favorite decimal?example: ES9121000418450200051332 answerdescription: '123.4'Used if IBAN is chosen as Payment Strategy. Validated - question: Favorite date?using iban4j.org ibanBank: answer: '1969-07-20' type: string description: >- example: CAIXESBB666 array of simple objectsdescription: withUsed verbatimif ClinSparkIBAN questionsis andchosen as Payment Strategy. Validated using iban4j.org corresponding answersabaAccount: itemstype: string example: 123456789 $ref: '#/components/schemas/VolunteerAnswer' volunteerNotesdescription: Used if ABA is chosen as Payment Strategy. Validated using ABANumberCheckDigit library. type: array abaBank: example: type: string - Volunteer travels often example: 021000021 - Is afraid ofdescription: needlesUsed if ABA is chosen as Payment Strategy. Validated using ABANumberCheckDigit description:library. Simple notes that move to a volunteer notes sectionpreviousStudyParticipation: itemstype: boolean VolunteerSubstanceUse: type: stringobject volunteerRacesproperties: typesubstanceUseCategory: array exampletype: string example: -Alcohol American Indian or Alaska Native enum: description: Must match race names defined in ClinSpark - Alcohol items: - Caffeine type: string - Tobacco volunteerSubstanceUse: - Drugs type: array name: example: type: string - substanceUseCategory: Alcohol description: >- name: Beer must be associated with the relevant category defined in the useFrequency: Week volunteer configure component useConsumption: '5' useFrequency: consumptionUnittype: string Glass/Bottle (.5L) description: provides context to the useConsumption substanceUseStatus: Social default: Week startDate: '2001' enum: lastConsumed: '2021-07-21' - Day substanceNotes: Enjoys- heavyWeek IPAs description: >- Month array- ofYear simple objects with verbatim ClinSpark questions and useConsumption: correspondingtype: answersstring itemsdescription: >- $ref: '#/components/schemas/VolunteerSubstanceUse' VolunteerSubstanceUse: the amount of the substance consumed in the defined frequency; type: object properties:should be a number substanceUseCategory: default: '5' type: string consumptionUnit: example: Alcohol type: string enum: description: >- - Alcohol must be associated with the relevant category / name defined -in Caffeinethe -volunteer Tobaccoconfigure component default: - DrugsGlass/Bottle (.5L) namesubstanceUseStatus: type: string descriptionenum: >- - Social must be associated with the relevant category defined in the- Regular volunteer configure- componentPrevious useFrequencystartDate: type: string description: provides>- context to the useConsumption yyyy-MM-dd; for default:partial Weekdates, simply omit the fields 2009 would be enum: 2009, Jan of 2008 -would Daybe 2008-01, Feb 12 2007 would be 2007-02-12 - Week endDate: -type: Monthstring description: see - YearstartDate useConsumptionlastConsumed: type: string description: >- see startDate substanceNotes: type: string the amount of the substance consumed in the defined frequency; description: general notes about the substance use RecruitmentAppointment: should be a number type: object defaultproperties: '5' consumptionUnitid: type: stringinteger descriptionformat: >-integer appointmentType: must be associated with the relevant category /type: namestring defined in the example: Screening volunteer configure component description: configured with study default: Glass/Bottle (.5L)site details substanceUseStatusappointmentNumber: type: string enumexample: A0001 estimatedAppointmentDurationMinutes: - Social type: integer - Regular format: int32 -example: Previous60 startDateappointmentNotes: type: string descriptionappointmentTime: >- type: string yyyy-MM-dd; for partial dates, simply omit the fields 2009 woulddescription: beISO date time in UTC 2009,cohort: Jan of 2008 would be 2008-01, Feb 12 2007 would be 2007-02-12$ref: '#/components/schemas/Cohort' endDaterecruitmentAppointmentStatus: type: string descriptionenum: see startDate lastConsumed: - Unassigned type: string - Assigned description: see startDate - CheckedIn substanceNotes: - type:Failed string description: general- notesSuccess about the substance use RecruitmentAppointmentdateCreated: type: string object propertiesformat: date-time idlastUpdated: type: integerstring format: int64date-time appointmentTypestudyName: type: string string example: ABC123 examplestudyId: Screening descriptiontype: configuredinteger with study site details appointmentNumberexample: 113 studyState: type: string type: string example: A0001 estimatedAppointmentDurationMinutesenum: type: integer - ACTIVE format: int32 - ARCHIVED appointmentNotes: - DESIGN type: string appointmentTime: - LOCKED typeepochs: string descriptiontype: ISOarray date time in UTC items: cohort: $ref: '#/components/schemas/CohortEpochShort' recruitmentAppointmentStatus: Cohort: type: object string properties: enum: disabled: type: boolean -default: Unassignedfalse requireVolunteerRecruitment: - Assigned type: boolean - CheckedIn default: false - Failedname: type: string - Success dateCreatedexample: Cohort 1 typedescription: string formattype: date-timestring lastUpdatedsubjectNumberAction: type: string formatenum: date-time Cohort: type:- objectSCREENING properties: - LEAD_IN disabled: - RANDOMIZATION type: boolean default:- falseAPPOINTMENT requireVolunteerRecruitmentdataLocked: type: boolean defaultdescription: >- false name: is data associated with the cohort locked type: stringfor further data example:collection? Cohort 1 descriptiondefault: false recruitmentActive: type: string subjectNumberActiontype: boolean type: string description: is the cohort active for recruitment enumrecruitmentMaleGoal: type: number - SCREENING format: int32 - LEAD_IN recruitmentFemaleGoal: - RANDOMIZATION type: number -format: APPOINTMENTint32 dataLockedrecruitmentGoal: type: booleannumber descriptionformat: >-int32 VolunteerSearchResult: type: isobject data associated with the cohort locked forproperties: further data eligible: collection? type: boolean default: false recruitmentActivedescription: true if the volunteer matches criteria of the volunteer type:search boolean descriptiondefault: isfalse the cohort active for recruitment name: recruitmentMaleGoal: type: string type: number description: the name of the format:advanced int32search recruitmentFemaleGoalstudy: type$ref: number'#/components/schemas/Study' site: format: int32 recruitmentGoal$ref: '#/components/schemas/Site' typecohort: number format: int32$ref: '#/components/schemas/Cohort' VolunteerSearchResultSite: type: object properties: eligibleid: type: booleaninteger descriptionformat: trueinteger if the volunteer matches criteria of the volunteer searcharchived: defaulttype: boolean false namedescription: is site archived? type: string default: false description: the name: of the advanced search type: study:string $refexample: '#/components/schemas/Study'Grafton sitevolunteerRegionLabel: $reftype: '#/components/schemas/Site' string cohort: example: State $ref: '#/components/schemas/Cohort' Sitedescription: allows for customizing a region (ie type: object properties:State, Province, etc) idvolunteerEnrollmentConfirmationStatement: type: integerstring formatdescription: int64statement made during point of enrollment when staff is archived:present typeheightUnits: boolean descriptiontype: isstring site archived? defaultenum: false name: - Meters type: string - Centimeters example: Grafton - volunteerRegionLabel:Inches typeweightUnits: string exampletype: Statestring descriptionenum: allows for customizing a region (ie State, Province, etc) - Kilo volunteerEnrollmentConfirmationStatement: - Pound type: string address: description: statement made during point of enrollment whentype: staffstring is present heightUnitsdescription: street address typecity: string type: enum:string stateProvince: - Meters type: string - Centimeters postalCode: -type: Inchesstring weightUnitscountry: type: string phoneNumber: enum: type: string - Kilo faxNumber: -type: Poundstring addresstimeZoneId: type: string descriptioninvestigatorId: street address citytype: string investigatorName: type: string stateProvincetype: string Study: type: stringobject postalCodeproperties: id: type: string type: country:integer typeformat: stringinteger phoneNumberstudyState: type: string faxNumberenum: type:- stringDESIGN timeZoneId: - ACTIVE type: string - LOCKED investigatorId: type:- stringARCHIVED investigatorNamename: type: string Study: description: type: object propertiestype: string idprotocolName: type: integerstring epochs: format: int64 studyStatetype: array typeitems: string enum$ref: '#/components/schemas/Epoch' Epoch: -type: DESIGNobject properties: - ACTIVE disabled: -type: LOCKEDboolean - ARCHIVEDdefault: false name: type: string descriptionexample: Treatment description: type: string protocolNametype: string typeexample: stringTreatment epochscohorts: type: array items: $ref: '#/components/schemas/EpochCohort' EpochEpochShort: type: object properties: disabled: type: boolean default: false name: type: string example: Treatment description: type: string example: Treatment cohorts: type: array items: $ref: '#/components/schemas/Cohort' StudySite: type: object properties: id: type: integer format: int64integer unassignedAppointmentCount: type: number format: int32 appointmentTypes: type: array example: - Screening - OPV items: type: string locationOid: type: string example: '1' investigatorId: type: string investigatorName: type: string appointmentsRequireRecruitmentVolunteer: type: boolean appointmentsRequireRecruitmentVolunteerInCohort: type: boolean recruitmentDescription: type: string defaultAppointmentDurationMinutes: type: number format: int32 recruitmentMaleGoal: type: number format: int32 recruitmentFemaleGoal: type: number format: int32 site: $ref: '#/components/schemas/Site' study: $ref: '#/components/schemas/Study' |
...