{"id":2902,"date":"2024-10-25T06:19:55","date_gmt":"2024-10-25T13:19:55","guid":{"rendered":"https:\/\/azcces.info\/?page_id=2902"},"modified":"2024-10-25T08:38:54","modified_gmt":"2024-10-25T15:38:54","slug":"ccms-api-integration","status":"publish","type":"page","link":"https:\/\/azcces.info\/index.php\/ccms-api-integration\/","title":{"rendered":"CCMS\/API Integration"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/azcces.info\/wp-content\/uploads\/2024\/10\/Slide1-1024x576.jpg\" alt=\"\" class=\"wp-image-2925\" srcset=\"https:\/\/azcces.info\/wp-content\/uploads\/2024\/10\/Slide1-1024x576.jpg 1024w, https:\/\/azcces.info\/wp-content\/uploads\/2024\/10\/Slide1-300x169.jpg 300w, https:\/\/azcces.info\/wp-content\/uploads\/2024\/10\/Slide1-768x432.jpg 768w, https:\/\/azcces.info\/wp-content\/uploads\/2024\/10\/Slide1.jpg 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\" style=\"font-size:20px\"><strong>Kindersystems\u00ae has developed KinderBridge\u00ae, an API that facilitates the transfer of attendance data to KinderConnect\u00ae by CCMS vendors. The integration process is designed to be completed within 60 days, but it's subject to the CCMS's availability to start allocating resources.<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"font-size:20px\"><strong><a href=\"#contact-form\" data-type=\"internal\" data-id=\"#CCMSContactForm\">Ready to get started?<\/a><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here's a breakdown of the process:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Sign an NDA &amp; Schedule an Introductory Call:<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">a. Kindly provide us with the name, email, and position of the person to whom we should send the NDA. You can send this information to partners@controltec.com.<br>b. Schedule a 15-minute call by clicking <a href=\"https:\/\/calendly.com\/luisbarroso-kindersystems\/15min?back=1&amp;month=2024-10\">here <\/a>to discuss the process and the next steps.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Deliver API Specification &amp; Provide Sandbox Access:<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">KinderSystems will provide the CCMS with the API specification and documentation. The CCMS will receive OIDC credentials to connect with the KinderSystems sandbox environment.<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Validate Test Cases in Sandbox:<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">KinderSystems will provide ten user cases to test the integration. Once the CCMS submits the test case data, it will audit the received data. If any inconsistencies are identified during this process, KinderSystems may request additional data transmission as necessary. This step must be fully completed to proceed to the next step in the certification process.<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Validate Cases with PROD data in UAT:<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Once the necessary test cases are completed in the Sandbox environment, KinderSystems will provide CCMS with the required credentials and endpoints to access a lower environment in Arizona, known as Arizona UAT. This environment is an exact replica of the production (PROD) environment. In this lower environment, the same scenarios tested in the Sandbox will be run, but with real data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">KinderSystems will request attendance data for the previous months to perform this verification. CCMS needs to select at least three providers that are already working with them and are registered as subsidy providers. Attendance records from these providers should then be transferred into Arizona UAT, covering at least three months of attendance data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are two main goals for this test:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Technical integration work\u2014i.e., making accurate calls to the API based on the spec and use cases provided.<\/li>\n\n\n\n<li>Operational tests - These are not necessarily predicated on a correct integration since this will be mostly assumed to be working as expected. Instead, they are intended to identify any workflow issues that may be introduced by system users. Examples:<br>a. The users are not properly logging absences<br>b. The users are creating incomplete time pairs (only an in, without an out, or the reverse)<br>c. The users are creating overlapping time pairs (how could a child be in two places at the same time)<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>   <\/strong> 5. <strong>Validate process end-to-end in UAT:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once the transmission of attendance into UAT has been verified, the CCMS needs to submit the attendance to DES from KinderSystems. KinderSystems will train the CCMS on how to execute this process. The goal is to compare the payments made in the past against the payment process on the UAT testing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DES expects to achieve 90% accuracy in order to pass the test.<\/p>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Going live:<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Once the CCMS is approved and meets all requirements, the selected providers will need to assist with training and onboarding sessions with KinderSystems. After the training is finished, providers will be able to start submitting subsidy attendance through KinderSystems in the next available month.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CCMS must provide a support contact for future troubleshooting. Also, it is suggested that user-friendly documentation\/videos be created to explain KinderConnect integration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have any questions or doubts about this process, please do not hesitate to contact us at partners@controltec.com.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Best regards,<br>KinderSystem Team<\/p>\n\n\n\n<details class=\"wp-block-details has-text-color has-link-color has-medium-font-size wp-elements-1 is-layout-flow wp-block-details-is-layout-flow\" style=\"color:#253569;font-style:normal;font-weight:500\"><summary>Frequently Asked Questions<\/summary>\n<ol class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>What do we do with attendance records that are not accepted by the API (error code or something else)?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">If one transaction in the batch fails, the API will reject the whole batch. We do not indicate what transaction\/data point failed.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>What happens if we send the same \"uploadAttendance\" with the same data?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">The call will error out.<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>Do we need to do any historical syncing of attendance data?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">No need unless integration takes a long time.<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>What is the process when a new child or sponsor gets created in the provider system?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">You can find out if the child exists in our system via the RequestChildList or RequestChildID endpoints. Most vendors use Children.<\/p>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>Is the provider allowed to store Agency ID and Provider ID in their system?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Yes.<\/p>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>How frequently should we send attendance data to KinderConnect?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">The provider should manually submit in the first week of the next month for the past month. This gives them a chance to verify the data before submitting it.<\/p>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>Is there a way to get sample \u2018responses\u2019 of all APIs?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">There are sample responses in the Swagger documentation, otherwise, you can test in the sandbox.<\/p>\n\n\n\n<ol start=\"8\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>In the \"uploadAttendance\" API what do the following keys in the data mean: \"ModifyCount\" and \"Note\"?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Modify Count - description: the count of changes made to the attendance of this transaction that a Provider (or parent) made prior to uploading attendance through this web service. If ModifyCount is present, KinderConnect reports this number as the count of Provider overrides. Most vendors do not use this at all.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Note - primarily used for absences to indicate why the child was absent.<\/p>\n\n\n\n<ol start=\"9\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>Does KinderConnect maintain a staging or testing environment for us to start sending test data<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">We have the sandbox for the provider to test on it. We can also help the provider to test in staging once they pass the initial tests in the sandbox.<\/p>\n\n\n\n<ol start=\"10\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>How the API calls functions for the following case: The child is marked absent for an appointment at the beginning of the day<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Post an absence through the attendance endpoint, post a note through the same endpoint. They can be two calls, but most vendors use a single call for this scenario.<\/p>\n\n\n\n<ol start=\"11\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>Are there any API endpoints that return the absence record for a given child?<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">No, you cannot retrieve absences or existing time pairs in our system.<\/p>\n\n\n\n<ol start=\"12\" class=\"wp-block-list\">\n<li style=\"font-size:16px\"><strong>API authentication (other than the provider\u2019s password)<\/strong><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">We use OIDC to secure calls to the web service, calls to the specific provider records use the provider\/group password. The provider\/group password is generated by our support team.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\"><strong>13. The API cannot integrate with KinderSign.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">KinderSign allows families, child care providers, and centers to sign children in and out of care with an app that\u2019s compatible with iPad or Android tablets. <\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"font-size:15px\"><\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"font-size:15px\"><\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"font-size:15px\"><\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\" style=\"font-size:15px\"><\/p>\n<\/details>\n\n\n\n<div style=\"height:53px\" aria-hidden=\"true\" id=\"contact-form\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\"><div class=\"wpforms-container wpforms-container-full wpforms-block wpforms-block-649597ae-d623-42f0-a2b5-a8fc21f681c3 wpforms-render-modern\" id=\"wpforms-2937\"><form id=\"wpforms-form-2937\" class=\"wpforms-validate wpforms-form wpforms-ajax-form\" data-formid=\"2937\" method=\"post\" enctype=\"multipart\/form-data\" action=\"\/index.php\/wp-json\/wp\/v2\/pages\/2902\" data-token=\"75ea3931691ffce6c64752aa54550906\" data-token-time=\"1787237623\"><div class=\"wpforms-head-container\"><div class=\"wpforms-title\">CCMS Contact Form<\/div><div class=\"wpforms-description\">Interested in learning more? Please fill out the contact form below and we will reach out promptly.<\/div><\/div><noscript class=\"wpforms-error-noscript\">Please enable JavaScript in your browser to complete this form.<\/noscript><div id=\"wpforms-error-noscript\" style=\"display: none;\">Please enable JavaScript in your browser to complete this form.<\/div><div class=\"wpforms-field-container\"><div id=\"wpforms-2937-field_1-container\" class=\"wpforms-field wpforms-field-name\" data-field-id=\"1\"><fieldset><legend class=\"wpforms-field-label\">Name <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/legend><div class=\"wpforms-field-row wpforms-field-medium\"><div class=\"wpforms-field-row-block wpforms-first wpforms-one-half\"><input type=\"text\" id=\"wpforms-2937-field_1\" class=\"wpforms-field-name-first wpforms-field-required\" name=\"wpforms[fields][1][first]\" aria-errormessage=\"wpforms-2937-field_1-error\" required><label for=\"wpforms-2937-field_1\" class=\"wpforms-field-sublabel after\">First<\/label><\/div><div class=\"wpforms-field-row-block wpforms-one-half\"><input type=\"text\" id=\"wpforms-2937-field_1-last\" class=\"wpforms-field-name-last wpforms-field-required\" name=\"wpforms[fields][1][last]\" aria-errormessage=\"wpforms-2937-field_1-last-error\" required><label for=\"wpforms-2937-field_1-last\" class=\"wpforms-field-sublabel after\">Last<\/label><\/div><\/div><\/fieldset><\/div><div id=\"wpforms-2937-field_4-container\" class=\"wpforms-field wpforms-field-text\" data-field-id=\"4\"><label class=\"wpforms-field-label\" for=\"wpforms-2937-field_4\">Position<\/label><input type=\"text\" id=\"wpforms-2937-field_4\" class=\"wpforms-field-medium\" name=\"wpforms[fields][4]\" aria-errormessage=\"wpforms-2937-field_4-error\" ><\/div>\t\t<div id=\"wpforms-2937-field_5-container\"\n\t\t\tclass=\"wpforms-field wpforms-field-text\"\n\t\t\tdata-field-type=\"text\"\n\t\t\tdata-field-id=\"5\"\n\t\t\t>\n\t\t\t<label class=\"wpforms-field-label\" for=\"wpforms-2937-field_5\" >Position or Comment<\/label>\n\t\t\t<input type=\"text\" id=\"wpforms-2937-field_5\" class=\"wpforms-field-medium\" name=\"wpforms[fields][5]\" >\n\t\t<\/div>\n\t\t<div id=\"wpforms-2937-field_2-container\" class=\"wpforms-field wpforms-field-email\" data-field-id=\"2\"><label class=\"wpforms-field-label\" for=\"wpforms-2937-field_2\">Email <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"email\" id=\"wpforms-2937-field_2\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][2]\" spellcheck=\"false\" aria-errormessage=\"wpforms-2937-field_2-error\" required><\/div><div id=\"wpforms-2937-field_3-container\" class=\"wpforms-field wpforms-field-textarea\" data-field-id=\"3\"><label class=\"wpforms-field-label\" for=\"wpforms-2937-field_3\">Comment or Message<\/label><textarea id=\"wpforms-2937-field_3\" class=\"wpforms-field-medium\" name=\"wpforms[fields][3]\" aria-errormessage=\"wpforms-2937-field_3-error\" ><\/textarea><\/div><script>\n\t\t\t\t( function() {\n\t\t\t\t\tconst style = document.createElement( 'style' );\n\t\t\t\t\tstyle.appendChild( document.createTextNode( '#wpforms-2937-field_5-container { position: absolute !important; overflow: hidden !important; display: inline !important; height: 1px !important; width: 1px !important; z-index: -1000 !important; padding: 0 !important; } #wpforms-2937-field_5-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-2937-field_5-container label { counter-increment: none; }' ) );\n\t\t\t\t\tdocument.head.appendChild( style );\n\t\t\t\t\tdocument.currentScript?.remove();\n\t\t\t\t} )();\n\t\t\t<\/script><\/div><!-- .wpforms-field-container --><div class=\"wpforms-submit-container\" ><input type=\"hidden\" name=\"wpforms[id]\" value=\"2937\"><input type=\"hidden\" name=\"page_title\" value=\"\"><input type=\"hidden\" name=\"page_url\" value=\"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/pages\/2902\"><input type=\"hidden\" name=\"url_referer\" value=\"\"><button type=\"submit\" name=\"wpforms[submit]\" id=\"wpforms-submit-2937\" class=\"wpforms-submit\" data-alt-text=\"Sending...\" data-submit-text=\"Submit\" aria-live=\"assertive\" value=\"wpforms-submit\">Submit<\/button><img decoding=\"async\" src=\"https:\/\/azcces.info\/wp-content\/plugins\/wpforms-lite\/assets\/images\/submit-spin.svg\" class=\"wpforms-submit-spinner\" style=\"display: none;\" width=\"26\" height=\"26\" alt=\"Loading\"><\/div><\/form><\/div>  <!-- .wpforms-container --><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"Kindersystems\u00ae has developed KinderBridge\u00ae, an API that facilitates the transfer of attendance data to KinderConnect\u00ae by CCMS vendors. The integration process is designed to be completed within 60 days, but it's subject to the CCMS's availability to start allocating resources. &hellip; ","protected":false},"author":9,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-fullwidth.php","meta":{"footnotes":""},"class_list":["post-2902","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/pages\/2902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/comments?post=2902"}],"version-history":[{"count":38,"href":"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/pages\/2902\/revisions"}],"predecessor-version":[{"id":2971,"href":"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/pages\/2902\/revisions\/2971"}],"wp:attachment":[{"href":"https:\/\/azcces.info\/index.php\/wp-json\/wp\/v2\/media?parent=2902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}