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.
. 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 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 contentexternalId: application/jsontype: string example: '987123' schema: description: Unique identifier in originating $ref: '#/components/schemas/Volunteer'recruitment system descriptiontitle: JSON volunteer to add type: string required: true responsesexample: Mr '200'firstName: descriptiontype: 'Success:string OK message.' '401'example: Joseph descriptionmiddleName: 'Unauthorized: Must add Basic Authentication headers' type: string '422': description: >- - Invalid request: Therecan arebe inputan validationinitial, errors;if lookno atvalue theis JSONprovided a '-' will be stored with response for details. the volunteer reocord security: - basicAuthexample: Peter [] /findActiveStudySites: getlastName: tags: type: string - recruit summaryexample: FindsPadres study sites that are actively recruiting genderMale: parameters: - nametype: studyNameboolean ethnicHispanic: in: query type: boolean description: >- description: null indicates unknown Case insensitive study name used to match studyotherRace: sites with the type: string corresponding name description: additional race details required:if falserace type doesn't match schema: example: Asian typedateOfBirth: string - nametype: siteIdstring inexample: query'1980-05-27' description: >-ISO DOB in form of yyyy-MM-dd ID ofnameSuffix: a given site; only study sites with the corresponding site type: string willdescription: bejr, returnedII requiredexample: falseJr schemanationality: type: numberstring formatexample: int64Belgian - namepreferredLanguage: siteName intype: querystring descriptionexample: >-English address: Case insensitive site name used to match studytype: sitesstring with the example: corresponding name 123 Yellobrick Lane requiredcity: false schematype: string typeexample: stringChicago - nameregion: locationOid intype: querystring description: >- Caseshould sensitivematch locationregions OIDconfigured usedin tothe matchvolunteer studyconfiguration sites with the component; ie state corresponding/ OIDprovince requiredexample: falseChicago schemacountry: type: string responses: '200'example: US description: successful operationpostalCode: contenttype: string application/json:example: 60657 homePhone: schema: type: string typedescription: array>- tightly validated based on items:the general settings configured; should be as close $ref: '#/components/schemas/StudySite' '401':to ISO format as possible with leading country code. description: 'Unauthorized: Must add Basic Authentication headers'https://github.com/google/libphonenumber is used for underlying security: validation - basicAuth: [] /findUnassignedAppointmentsexample: +1312 554 1218 get: tagsworkPhone: - recruit type: string summary: Finds appointments for the given studydescription: sitesee homePhone parameters: example: +1312 554 1218 - name: studySiteId mobilePhone: in: query type: string description: ID of a given study sitedescription: same rules apply as homePhone, but must be unique in required: truedatabase schemaexample: +1312 554 1218 typephoneNotes: number type: string format: int64 description: -can name:be cohortNamearbitrary notes to guide recruiters about making phone calls in: query example: description: >- contactableByPhone: Case insensitive cohort nametype: usedboolean for a wild card search; only description: volunteer's permission to be contacted by phone appointments that have an assigned cohort matching will be returned default: true requiredcontactableBySms: false schematype: boolean typedescription: stringvolunteer's permission to be contacted by SMS - name: appointmentType default: true in: query contactableByEmailCampaign: description: >- type: boolean Case insensitive appointment typed used for a wild card search; only description: volunteer's permission to be contacted by emails default: appointmentstrue that have an apointment type matching will be returnednextOfKin: requiredtype: falsestring schemadescription: >- type: stringnotes generally about who to contact should responses:there be a reason to do '200': so in description:an successfulemergency operationsituation contentvolunteerEmploymentStatus: application/jsontype: string enum: schema: - Unemployed type: array - Student items: - EmployedPartTime - EmployedFullTime $ref: '#/components/schemas/RecruitmentAppointment' '401': - Retired description: 'UnauthorizedweightKilos: Must add Basic Authentication headers' security: type: number - basicAuth: [] /volunteerStudySearchformat: double get: tagsexample: 123.45 - recruitheightMeters: summary: >- type: number Finds matching studies for the found volunteerformat: usingdouble the advanced volunteerexample: search2.12 The advanced searches must be not be archived andvegetarian: must have atype: studyboolean associated while actively recruiting. If the advanced description: null indicates unknown search also specifies a site, that site insurgicallySterile: question must match the type: boolean volunteer. The boolean eligible property in the response array indicates default: false whether or notcontraceptionType: a study match has occurred. parameterstype: string - nameexample: volunteerIdAbstinence indescription: should match querya type configured in the volunteer configure component description: primary key of the volunteernumberOfChildren: requiredtype: falseinteger schema: description: value should only be present for females type: integer minimum: 0 formatmaximum: int6420 - namemenstruationStartAge: externalId intype: queryinteger description: IDvalue fromshould sourceonly systembe present for females required: false minimum: 8 schema: maximum: 50 typemenstruationEndAge: string - nametype: emailAddressinteger indescription: value queryshould only be present for females description: Case insensitive email address minimum: 10 required: false maximum: 100 schemalastPeriodStartDate: type: string - nameexample: mobilePhone'2024-05-27' indescription: In form query of yyyy-MM-dd; value should only be present for females description: Will be converted to ISO formatregularPeriodIntervalDays: before a query takes place type: integer required: false description: value should only be schema:present for females typeminimum: 0 string responsesmaximum: 100 '200'regularPeriodDurationDays: descriptiontype: successful operationinteger contentdescription: value should only be present for females application/json: minimum: 0 schema: maximum: 100 currentlyPregnant: type: array type: boolean itemsdescription: value should only be present for females $refdefault: '#/components/schemas/VolunteerSearchResult'false '401'currentlyBreastFeeding: descriptiontype: 'Unauthorized:boolean Must add Basic Authentication headers' securitydescription: value should only be present for females - basicAuth: [] /listVolunteerAppointments: getdefault: false tags: childBearingPotential: - recruit type: boolean summary: >- description: Findsvalue appointmentsshould foronly thebe givenpresent volunteerfor foundfemales by one of the default: false parameters supplied parametersallergies: - nametype: volunteerIdboolean indescription: querynull indicates unknown descriptionemailAddress: primary key of the volunteer requiredtype: falsestring schemaexample: something@domain.com typedescription: integer>- format:must int64be unique; strictly validated using Apache Commons Email - name: externalId Validator framework in: query description: ID from source systemcontactSource: requiredtype: falsestring schemadescription: >- type:describes stringhow a volunteer contact occurred; should match a source - name: emailAddress configured in: the queryvolunteer configure component descriptiongeneralPractitioner: Case insensitive email address requiredtype: falsestring schemadescription: volunteer's physician typeexample: stringJoseph Smith - namegeneralPractitionerPhoneNumber: mobilePhone intype: querystring description: Will be converted to ISO format before a query takes placevolunteer's physician phone number requiredexample: false+1312 555 1212 schemageneralPractitionerAddress: type: string responses: description: volunteer's physician address '200': descriptionexample: successful232 operationYellobrick Lane contentsiteName: application/jsontype: string example: Base Site schema: description: >- type: array the name of the site that the volunteer should be associated items:with; if not provided, use siteId $ref: '#/components/schemas/RecruitmentAppointment' siteId: '401': type: integer description: 'Unauthorized: Must add Basic Authentication headers' format: integer security: example: -1 basicAuth: [] /assignAppointment: postdescription: >- tags: the id -of recruitthe site that the volunteer should be summary:associated Allowswith; forif assigning a given appointment to a matching volunteer not provided, parameters:use siteName - namepaymentStrategy: recruitmentAppointmentId intype: string query descriptionenum: ID from source system - required:IBAN true schema: - ABA type: number example: IBAN formatibanAccount: int64 - nametype: volunteerIdstring inexample: queryES9121000418450200051332 description: ID from the volunteer Used if IBAN is chosen as Payment Strategy. Validated using iban4j.org required ibanBank: false schematype: string example: type:CAIXESBB666 int64 - namedescription: Used externalIdif IBAN is chosen as Payment Strategy. Validated using iban4j.org in: query abaAccount: description: ID from source system type: string required: false example: 123456789 schema: description: Used if ABA is chosen as Payment Strategy. Validated type:using stringABANumberCheckDigit library. - nameabaBank: emailAddress intype: querystring descriptionexample: Case021000021 insensitive email address requireddescription: falseUsed if ABA is chosen as Payment Strategy. Validated using ABANumberCheckDigit schema:library. typepreviousStudyParticipation: string - nametype: mobilePhoneboolean involunteerAnswers: query type: description:array Will be converted to ISO format before a query takes placeexample: required: false - question: Favorite web application? schema: answer: Gmail type: string - namequestion: appointmentNotesFavorite number? in: query answer: '123' required: false - question: Favorite decimal? schema: typeanswer: string'123.4' responses: - '200'question: Favorite date? description: successful operation answer: '1969-07-20' content: description: >- application/json: array of simple objects with verbatim ClinSpark questions and schema: corresponding answers type: object items: '401': description$ref: 'Unauthorized: Must add Basic Authentication headers'#/components/schemas/VolunteerAnswer' volunteerNotes: '422': type: array description: rendered if appointment could not beexample: found security: - Volunteer travels often - basicAuth: [] /cancelAppointment: post: - Is afraid of needles tags: - recruitdescription: Simple notes that move to a summary:volunteer Allowsnotes forsection canceling a given appointment parametersitems: - name: recruitmentAppointmentId type: string involunteerRaces: query type: description:array ID from source system example: required: true - American Indian schema:or Alaska Native typedescription: numberMust match race names defined in ClinSpark format: int64 items: responses: '200'type: string descriptionvolunteerSubstanceUse: successful operation type: array content: example: application/json: - substanceUseCategory: Alcohol schema: name: Beer type: object '401'useFrequency: Week description: 'Unauthorized: Must add Basic AuthenticationuseConsumption: headers'5' '422': consumptionUnit: Glass/Bottle (.5L) description: rendered if appointment could not be found securitysubstanceUseStatus: Social - basicAuth: [] servers: - url: https://altasciences-sandbox.clinspark.com/api/v1/recruit components:startDate: '2001' securitySchemes: basicAuth: typelastConsumed: http'2021-07-21' scheme: basic schemas: VolunteerAnswersubstanceNotes: Enjoys heavy IPAs type: object propertiesdescription: >- question: array of simple objects with verbatim ClinSpark type:questions stringand example: Favorite webcorresponding application?answers descriptionitems: Verbatim custom volunteer question answer:$ref: '#/components/schemas/VolunteerSubstanceUse' VolunteerUpdate: type: object string properties: description: Answer format must matchid: that defined by the custom question Volunteertype: integer type: object properties: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 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 unknownnull indicates unknown emailAddress: emailAddresstype: 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: >- the name of the site that the volunteer should be associated with; generalPractitionerAddress: 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: string array exampleenum: - IBAN question: Favorite web application? - ABA answer: Gmail example: IBAN - question: Favorite number? ibanAccount: answertype: string '123' example: ES9121000418450200051332 - question: Favorite decimal? description: Used if IBAN is chosen as Payment Strategy. Validated answer:using '123.4'iban4j.org ibanBank: - question: Favorite date? type: string answerexample: '1969-07-20'CAIXESBB666 description: >-Used if IBAN is chosen as Payment Strategy. Validated using iban4j.org array of simple objects with verbatim ClinSparkabaAccount: questions and corresponding answerstype: string itemsexample: 123456789 $refdescription: '#/components/schemas/VolunteerAnswer' volunteerNotes: Used if ABA is chosen as Payment Strategy. Validated using ABANumberCheckDigit library. typeabaBank: array exampletype: string example: 021000021 - Volunteer travels often description: Used if ABA is chosen -as IsPayment afraidStrategy. ofValidated needlesusing ABANumberCheckDigit library. descriptionpreviousStudyParticipation: Simple notes that move to a volunteer notes section type: boolean VolunteerSubstanceUse: items: type: object typeproperties: string volunteerRacessubstanceUseCategory: type: arraystring example: Alcohol enum: - American Indian or Alaska Native - Alcohol description: Must match race names defined in ClinSpark - Caffeine items: - Tobacco type: string - Drugs volunteerSubstanceUse: name: type: array type: string example: description: >- - substanceUseCategory: Alcohol must be associated with the relevant category defined in name:the Beer volunteer configure component useFrequency: Week useFrequency: useConsumption: '5' type: string consumptionUnitdescription: Glass/Bottle (.5L) provides context to the useConsumption substanceUseStatusdefault: SocialWeek enum: startDate: '2001' - Day lastConsumed: '2021-07-21' - Week substanceNotes: Enjoys heavy IPAs - Month description: >- - Year array of simple objectsuseConsumption: with verbatim ClinSpark questions and type: string corresponding answers description: >- items: the amount of the substance consumed $ref: '#/components/schemas/VolunteerSubstanceUse' in the defined frequency; VolunteerSubstanceUse: type: object should be a number properties: substanceUseCategorydefault: '5' typeconsumptionUnit: string exampletype: Alcoholstring enumdescription: >- - Alcoholmust be associated with the relevant category / name defined in the - Caffeine volunteer configure component - Tobacco default: - DrugsGlass/Bottle (.5L) namesubstanceUseStatus: type: string enum: description: >- - 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: - Monthtype: string 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 site details default: Glass/Bottle (.5L) 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 example: Screening ABC123 studyId: description: configured withtype: studyinteger 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: stringobject properties: enum:disabled: type: boolean - Unassigned default: false 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: - SCREENING type: object properties: - LEAD_IN disabled: - RANDOMIZATION type: boolean default:- falseAPPOINTMENT requireVolunteerRecruitmentdataLocked: type: boolean defaultdescription: false>- name: is data associated with the cohort locked type:for stringfurther data example: Cohort 1 collection? description: default: false type: string recruitmentActive: subjectNumberAction: type: boolean type: string description: is the cohort active for recruitment enum: recruitmentMaleGoal: - SCREENING type: number - LEAD_IN format: int32 recruitmentFemaleGoal: - RANDOMIZATION type: number - APPOINTMENT dataLockedformat: int32 typerecruitmentGoal: boolean type: description:number >- format: int32 is data associated withVolunteerSearchResult: the cohort locked for further data type: object properties: collection? eligible: default: false type: boolean recruitmentActive: description: true if the type:volunteer booleanmatches criteria of the volunteer search description: is the cohort active fordefault: recruitmentfalse recruitmentMaleGoalname: type: numberstring format: int32description: the name of the advanced search recruitmentFemaleGoalstudy: type$ref: number'#/components/schemas/Study' site: format: int32 recruitmentGoal$ref: '#/components/schemas/Site' typecohort: number format$ref: int32'#/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 State, Province, etc) properties: idvolunteerEnrollmentConfirmationStatement: type: integerstring formatdescription: int64statement made during point of enrollment when staff is archived:present typeheightUnits: boolean descriptiontype: is site archived?string 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 countrytype: 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 type: studyState:array typeitems: string enum: $ref: '#/components/schemas/Epoch' Epoch: - DESIGN type: object properties: - ACTIVE disabled: - LOCKED type: boolean -default: ARCHIVEDfalse 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' |