|
@@ -0,0 +1,28 @@
|
|
|
|
+(function() {
|
|
|
|
+
|
|
|
|
+ function init() {
|
|
|
|
+ let self = this;
|
|
|
|
+ $('[icd-autocomplete-code]:not([ac-initialized])').each(function() {
|
|
|
|
+ let elem = this, dynID = 'icd-' + Math.ceil(Math.random() * 1000000),
|
|
|
|
+ codeElem = $(this), descElem = $(this).closest('form').find('[icd-autocomplete-description]');
|
|
|
|
+ $(elem).attr('id', dynID);
|
|
|
|
+ new window.Def.Autocompleter.Search(dynID,
|
|
|
|
+ 'https://clinicaltables.nlm.nih.gov/api/icd10cm/v3/search?sf=code,name&ef=name', {
|
|
|
|
+ tableFormat: true,
|
|
|
|
+ valueCols: [0],
|
|
|
|
+ colHeaders: ['Code', 'Name'],
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ window.Def.Autocompleter.Event.observeListSelections(dynID, function() {
|
|
|
|
+ let autocomp = elem.autocomp, acData = autocomp.getSelectedItemData();
|
|
|
|
+ codeElem.val(acData[0].code).trigger('change');
|
|
|
|
+ descElem.val(acData[0].data['name']).trigger('change');
|
|
|
|
+ return false;
|
|
|
|
+ });
|
|
|
|
+ $(elem).attr('ac-initialized', 1);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ addMCInitializer('icd-autocomplete', init);
|
|
|
|
+
|
|
|
|
+}).call(window);
|