icd-autocomplete.js 1.1 KB

12345678910111213141516171819202122232425262728
  1. (function() {
  2. function init() {
  3. let self = this;
  4. $('[icd-autocomplete-code]:not([ac-initialized])').each(function() {
  5. let elem = this, dynID = 'icd-' + Math.ceil(Math.random() * 1000000),
  6. codeElem = $(this), descElem = $(this).closest('form').find('[icd-autocomplete-description]');
  7. $(elem).attr('id', dynID);
  8. new window.Def.Autocompleter.Search(dynID,
  9. 'https://clinicaltables.nlm.nih.gov/api/icd10cm/v3/search?sf=code,name&ef=name', {
  10. tableFormat: true,
  11. valueCols: [0],
  12. colHeaders: ['Code', 'Name'],
  13. }
  14. );
  15. window.Def.Autocompleter.Event.observeListSelections(dynID, function() {
  16. let autocomp = elem.autocomp, acData = autocomp.getSelectedItemData();
  17. codeElem.val(acData[0].code).trigger('change');
  18. descElem.val(acData[0].data['name']).trigger('change');
  19. return false;
  20. });
  21. $(elem).attr('ac-initialized', 1);
  22. });
  23. }
  24. addMCInitializer('icd-autocomplete', init);
  25. }).call(window);