CITI Web Services is one of the tools that sites can use to integrate with their CITI data. Another option is the Automated Downloads v2
Access is by permission only. Create an account to access the SOAP Services on the Create Account page. Initially your account will not have access. Please go to Support to have your account attached to your own institution and set to SUBSCRIBER for full access. You will need to submit an email from an institutional administrator with your request for access. Once you are set up, to test your SOAP Service Access, go to Client Sample.
The SOAP web methods parallel the current download service options, but that's not all it can do. We have created a method to list your courses and the unique Keys to see if they will match your own LMS Keys for Imports. We also created a simple member list to verify the member information, which will be broken out into targeted methods for more on a single member or custom report style queries.
strObjectnamestrObjectFieldNamestrobjectfielddescriptionstrObjectDataDefinitionbitKeyField GetGradeBooksintCompletionReportIDGradeBook ID [Hierarchy: GradeBook ID | Course ID | Stage ID][int] GetGradeBooksintInstitutionIDInstitution CITI's Unique ID for each Institution[int] GetGradeBooksstrCompletionReportGradeBook Title: Research Curriculum Title (per institution, not generic, GCP, HUman Subjects, etc)[varchar](100) GetGradeBooksintGroupIDCourse ID [Hierarchy: GradeBook ID | Course ID | Stage ID][int] GetGradeBooksstrGroupCourse Title (Ex. IRB Reference Resource, Group 1. Biomedical, etc)[varchar](200) GetGradeBooksintStageIDStage ID [Hierarchy: GradeBook ID | Course ID | Stage ID][int] GetGradeBooksstrStageStage Title : Name of the stage (per institution, not generic) (Basic, Refresher 1,2,3,4 etc)[varchar](500)
/* Code Sippet Begin Dim DSGradeBook As New DataSet Dim client2 As CITIWebService.CITISOAPServiceSoapClient = New CITIWebService.CITISOAPServiceSoapClient() ‘ instantiate your client after importing the Wsdl ‘ Test the rights of your account Dim helloUserString2 As String = client2.HelloWorldbyUser(usr,pw) ‘Pull the datasets DSGradeBook = client2.GetGradeBooks(usr,pw) ‘Attach them to an object to view GradeBookGridView.DataSource = DSGradeBook.Tables("GradeBook") ‘ Or Table(0) there is only one table in each dataset GradeBookGridView.DataBind() Code Sippet End */
strObjectnamestrObjectFieldNamestrobjectfielddescriptionstrObjectDataDefinitionbitKeyField GetMembersintMemberIDCITI Member ID Number[int] GetMembersstrUsernameIICITI Member Username[varchar](50) GetMembersstrInstUsernameInstitution User Name[varchar](50) GetMembersstrFirstIICITI Member First Name[varchar](100) GetMembersstrLastIICITI Member Last Name[varchar](100) GetMembersstrInstEmailInstitution Member Email[varchar](100) GetMembersdteAddedCITI Member Account Created Date[Date] GetMembersdteAffiliatedInstitution Member Affilated Date[Date] GetMembersdteLastLoginCITI Member Date and Time Member Logged in Last[Date] GetMembersstrCustom1Institution Custom Profile Field[varchar](1000) GetMembersstrCustom2Institution Custom Profile Field[varchar](255) GetMembersstrCustom3Institution Custom Profile Field[varchar](255) GetMembersstrCustom4Institution Custom Profile Field[varchar](255) GetMembersstrCustom5Institution Custom Profile Field[varchar](100) GetMembersstrSSOCustomAttrib1Institution SSO Student Number[varchar](50) GetMembersstrSSOCustomAttrib2Institution SSO Employee Number[varchar](255) GetMembersstrEmployeeNumInstitution Profile Employee Number[varchar](50)
/* Code Sippet Begin */ Dim DSMembers As New DataSet Dim client2 As CITIWebService.CITISOAPServiceSoapClient = New CITIWebService.CITISOAPServiceSoapClient() ‘ instantiate your client after importing the Wsdl ‘Pull the dataset DSMembers = client2.GetMembers(usr,pw) ‘Attach them to an object to view MembersGridView.DataSource = DSMembers.Tables("Members") ‘ Or Table(0) there is only one table in each dataset MembersGridView.DataBind() /* Code Sippet End */
strObjectnamestrObjectFieldNamestrobjectfielddescriptionstrObjectDataDefinitionbitKeyField GetCompletionReportsstrUsernameIICITI Member Username[varchar](50) GetCompletionReportsstrInstUsernameInstitution User Name[varchar](50) GetCompletionReportsstrFirstIICITI Member First Name[varchar](100) GetCompletionReportsstrInstEmailInstitution Member Email[varchar](100) GetCompletionReportsdteAddedCITI Member Account Created Date[Date] GetCompletionReportsdteAffiliatedInstitution Member Affilated Date[Date] GetCompletionReportsstrCustom1Institution Custom Profile Field[varchar](1000) GetCompletionReportsstrCustom2Institution Custom Profile Field[varchar](255) GetCompletionReportsstrCustom3Institution Custom Profile Field[varchar](255) GetCompletionReportsstrCustom4Institution Custom Profile Field[varchar](255) GetCompletionReportsstrCustom5Institution Custom Profile Field[varchar](100) GetCompletionReportsstrCompletionReportGradeBook Title: Research Curriculum Title (per institution, not generic, GCP, HUman Subjects, etc)[varchar](100) GetCompletionReportsintGroupIDCourse ID [Hierarchy: GradeBook ID | Course ID | Stage ID][int] GetCompletionReportsstrGroupCourse Title (Ex. IRB Reference Resource, Group 1. Biomedical, etc)[varchar](200) GetCompletionReportsstrStageStage Title : Name of the stage (per institution, not generic) (Basic, Refresher 1,2,3,4 etc)[varchar](500) GetCompletionReportsintStageNumber Order the stages are presented to learner (Basic, Refresher 1,2,3,4 etc) [int] GetCompletionReportsintMemberStageID CR Number, important [int] GetCompletionReportsdteCompleted Date All Module Completed (Different from passed) [Date] GetCompletionReportsdtePassed Date Course passed[Date] GetCompletionReportsintScore Grade for Completed Course (Stage) [int] GetCompletionReportsintPassingScore What Constituted a passing score at time test test taken[int] GetCompletionReportsdteExpiration When the Course expires and refresher or next stage begins [Date] GetCompletionReportsstrMemberEmailCITI Member Email[varchar](100)
/* Code Sippet Begin */ Dim DSCompletionReports As New DataSet Dim client2 As CITIWebService.CITISOAPServiceSoapClient = New CITIWebService.CITISOAPServiceSoapClient() ‘ instantiate your client after importing the Wsdl ‘Pull the datasets DSCompletionReports = client2.GetCompletionReports(usr,pw) ‘Attach them to an object to view CRGridView.DataSource = DSGradeBook.Tables("CRS") ‘ Or Table(0) there is only one table in each dataset CRGridView.DataBind() /* Code Sippet End */
The GradeBook list for an Institution breaks down like this:
This Web Method will, hopefully, expose how CITI stores your GradeBooks for eventual use to put learners in the correct gradebooks, Course and Stage for your institution. This is the building block of the Course Presentation Layer inside CITI Program.
Please email Support with any qustions you might have and for the benefit of all institutions we will post Q and A here if it's general in nature.
1. Locate php.ini in your php bin folder 2. Remove the ; from the beginning of extension=php_soap.dll 3. Remove the ; from the beginning of extension=php_openssl.dll 4. Check that the time out is greater than 0 (default_socket_timeout = 300) Restart the service
Problems with website? Contact Support
DISCLAIMER: These Policies and Procedures are the sole property of the CITIProgram.org and are for exclusive use by our employees and customers. Policies and Procedures should not be copied or distributed externally without administrative approval.