formbuilder-lhcforms 9.1.6 → 9.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formbuilder-lhcforms/3rdpartylicenses.txt +38 -2
- package/dist/formbuilder-lhcforms/assets/fl-fields-layout.json5 +103 -0
- package/dist/formbuilder-lhcforms/assets/{items-layout.json → items-layout.json5} +2 -1
- package/dist/formbuilder-lhcforms/assets/{ngx-fl.schema.json → ngx-fl.schema.json5} +6 -44
- package/dist/formbuilder-lhcforms/assets/{ngx-item.schema.json → ngx-item.schema.json5} +7 -14
- package/dist/formbuilder-lhcforms/assets/version.json +1 -1
- package/dist/formbuilder-lhcforms/index.html +2 -2
- package/dist/formbuilder-lhcforms/lforms/lib/elements/main.js +2 -2
- package/dist/formbuilder-lhcforms/lforms/lib/elements/main.js.map +1 -0
- package/dist/formbuilder-lhcforms/lforms/lib/elements/polyfills.js.map +1 -0
- package/dist/formbuilder-lhcforms/lforms/lib/elements/runtime.js.map +1 -0
- package/dist/formbuilder-lhcforms/lforms/lib/fhir/lformsFHIRAll.min.js.map +1 -0
- package/dist/formbuilder-lhcforms/main.a584e788c1fd0286.js +1 -0
- package/dist/formbuilder-lhcforms/scripts.5c83cbb4dbb11a83.js +1 -0
- package/dist/formbuilder-lhcforms/styles.3ed240a0672a3bac.css +5 -0
- package/package.json +14 -13
- package/dist/formbuilder-lhcforms/assets/fl-fields-layout.json +0 -31
- package/dist/formbuilder-lhcforms/main.1626063b2c894fea.js +0 -1
- package/dist/formbuilder-lhcforms/scripts.2fd87cd35fe0c8f2.js +0 -1
- package/dist/formbuilder-lhcforms/styles.289d45a6ad533430.css +0 -5
- /package/dist/formbuilder-lhcforms/assets/{fhir-extension-schema.json → fhir-extension-schema.json5} +0 -0
- /package/dist/formbuilder-lhcforms/assets/{item-editor.schema.json → item-editor.schema.json5} +0 -0
|
@@ -1520,7 +1520,7 @@ function RA(n,t){const e=n.childNodes,i=t.map(()=>[]);let r=-1;t.some((o,a)=>"*"
|
|
|
1520
1520
|
* Use of this source code is governed by an MIT-style license that can be
|
|
1521
1521
|
* found in the LICENSE file at https://angular.io/license
|
|
1522
1522
|
*/
|
|
1523
|
-
var jA=Y(137),$A=Y(6908),Q4=Y.n($A),WA=Y(1318),g6=Y.n(WA),GA=Y(5541),v6=Y.n(GA);const It={parseDateFormats:["M/D/YYYY","M/D/YY","M/D","M-D-YYYY","M-D-YY","M-D","YYYY","YYYY-M-D","YYYY/M/D",Q4().ISO_8601,"M/D/YYYY HH:mm","M/D/YY HH:mm","M/D HH:mm","M-D-YYYY HH:mm","M-D-YY HH:mm","M-D HH:mm"],intRegex:/^\s*(\+|-)?\d+\s*$/,decRegex:/^\s*[\+-]?([\+-]?\d+\.?\d*([eE]?[\+|-]?\d+)?|[\+-]?\d*\.?\d+[eE]?([\+|-]?\d+)?)\s*$/,areTwoAnswersSame:function(n,t,e){let i=["label","code","text","score","other"];if("object"!=typeof n)return!1;let o=!1;if(!n.system&&!t.system||n.system===(t.system?t.system:e.answerCodeSystem)){o=!0;let l=Object.keys(n);for(var a=0,s=l.length;a<s;a++)if(i.indexOf(l[a])>=0&&n[l[a]]!==t[l[a]]){o=!1;break}}return o},dateToDTStringISO:function(n){return n&&n instanceof Date&&!isNaN(n.getTime())?[(1e4+n.getFullYear()).toString().substr(1),(101+n.getMonth()).toString().substr(1),(100+n.getDate()).toString().substr(1)].join("-"):void 0},stringToDTDateISO:function(n){var t=new Date(n);return isNaN(t.getTime())?void 0:new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())},dateToDTMString:function(n){return"string"==typeof n&&(n=this.stringToDate(n,!0)),n.toISOString()},stringToDate:function(n,t){if(!n||"string"!=typeof n)return n;if("t"===n.trim())return new Date;let e=Q4()(n,this.parseDateFormats,!0);return t&&!e.isValid()&&(e=Q4()(n)),e.isValid()?e.toDate():null},isValidDate:function(n){return!!this.stringToDate(n)},formatDate:function(n,t){return Q4()(n).format(t)},getNextLetter:function(n){for(var e=[],i=n;i>0;){var r=i%26;e.push(r=0===r?25:r-1),i=Math.floor((i-1)/26)}for(var o="",a=e.length-1;a>=0;a--)o+="abcdefghijklmnopqrstuvqxyz".charAt(e[a]);return o},findObjectInArray:function(n,t,e,i,r){var o=r?[]:null;if(Array.isArray(n)){var a=0;i&&Math.abs(i)<n.length&&(a=i<0?n.length+i:i);for(var s=n.length,l=a;l<s;l++)if(n[l][t]===e){var h=n[l];if(!r){o=h;break}o.push(h)}}return o},_pruneObject:function(n,t,e){if("object"==typeof t)for(var i in t)if(i.match(n))delete t[i];else if(e&&i===e){var r=t[i];if(Array.isArray(r))for(var o=r.length,a=0;a<o;a++)this._pruneObject(n,r[a],e);else this._pruneObject(n,r,e)}},pruneNulls:function(n){if(Array.isArray(n))for(var t=n.length-1;t>=0;t--)null==n[t]?n.splice(t,1):"object"==typeof n[t]&&this.pruneNulls(n[t]);else n&&"object"==typeof n&&Object.keys(n).forEach(function(i){null==n[i]?delete n[i]:"object"==typeof n[i]&&this.pruneNulls(n[i])},this)},deepCopy:function(n){return g6()(n)},deepEqual:function(n,t){return v6()(n,t)},shallowEqual:function(n,t){var e=!0;if(typeof n!=typeof t)e=!1;else if("object"!=typeof n)n!==t&&(e=!1);else{var i=Object.keys(n),r=Object.keys(t);if(i.length!==r.length)e=!1;else for(var o=0,a=i.length;o<a;o++)if(n[i[o]]!==t[i[o]]){e=!1;break}}return e},showWarning:function(n,t){t&&(n='The question "'+t.text+'" produced the following warning: '+n),console.log(n)},isInteger(n){return!!Number.isInteger(n)||"number"!=typeof n&&this.intRegex.test(n)},isDecimal(n){return"number"==typeof n||this.decRegex.test(n)}},E_={messages:{comparatorInQuantity:{en:"This item cannot accept a quantity with a comparator"},nonMatchingQuantityUnit:{en:"An attempt was made to assign a quantity with a non-matching unit."},MultipleValuesForNonRepeat:{en:"An attempt was made to assign multiple values to a non-repeating item."}},getMsg:function(n){const t=this.messages[n];if(!t)throw new Error('Unknown message ID "'+n+'"');const e=t[this.language];if(!e)throw new Error('Unknown language code "'+this.language+'" for message ID "'+n+'"');return e},addMsg:function(n,t){n[t]=this.getMsg(t)},setLanguage:function(n){this.language=n}},Oo={assignValueToItem:function(n,t,e){var i=!1;if(e=e||t&&t._type,t&&"Quantity"===e){n.value!==t.value&&(n.value=t.value,i=!0);var r={name:t.name};t.code&&(r.code=t.code,t.system&&(r.system=t.system)),It.deepEqual(n.unit,r)||(n.unit=r,i=!0)}else It.deepEqual(n.value,t)||(n.value=t,i=!0);return i},modelForOffListUnit:function(n){return n?{name:n,_displayUnit:n}:void 0},setItemMessagesArray:function(n,t,e){let i,r;for(let o of t)if(o){i||(i={errors:{},warnings:{},info:{}},r=Object.keys(i));for(let a of r)o[a]&&Object.assign(i[a],o[a])}this.setItemMessages(n,i,e)},setItemMessages:function(n,t,e){t?(n.messages||(n.messages={}),n.messages[e]=t):n.messages&&(delete n.messages[e],Object.keys(n.messages).length||delete n.messages)},addItemWarning:function(n,t,e){e||(e="Other message source");let i=n.messages;i||(i=n.messages={});let r=i[e];r||(r=i[e]={});let o=r.warnings;o||(o=r.warnings={}),o[t]=E_.getMsg(t),console.log(JSON.stringify(n.messages))},removeItemWarning:function(n,t,e){let i,r,o;e||(e="Other message source"),(i=n.messages)&&(r=i[e])&&(o=r.warnings)&&delete o[t]},hasAnswerList:function(n){return"CNE"===n.dataType||"CWE"===n.dataType||n.answers&&("ST"===n.dataType||"INT"===n.dataType||"DT"===n.dataType||"TM"===n.dataType)}};Oo.errorMessages=E_,Oo.errorMessages.setLanguage("en");const KA=new RegExp("http://hl7.org/fhir/(\\d+.\\d+)([.\\d]+)?/StructureDefinition/Questionnaire"),QA=new RegExp("http://hl7.org/fhir/u./sdc/StructureDefinition/sdc-questionnaire\\|(\\d+.\\d+)(.\\d+)?"),z_={STU3:1,R4:2,R5:3},O_={addFormToPage:function(n,i,e){i="string"==typeof i?document.getElementById(i):i,"string"==typeof n&&(n=n.indexOf("{")>=0?JSON.parse(n):window[n]);var r=n.resourceType,o=e&&e.fhirVersion;if(r&&"Questionnaire"!==r)throw new Error("Only Questionnaire FHIR content is supported in addFormToPage.");this.pageFormID_||(this.pageFormID_=0),LForms.addedFormDefs||(LForms.addedFormDefs=[]),LForms.addedFormDefs.push(n);for(var a=e&&!0===e.prepopulate;i.firstChild;)i.removeChild(i.lastChild);const s=document.createElement("wc-lhc-form");return i.appendChild(s),new Promise(function(h,p){try{s.questionnaire=n,s.options=e,s.prepop=a,s.fhirVersion=o,s.addEventListener("onFormReady",function(C){h()}),s.addEventListener("onError",function(C){p(C.detail)})}catch(C){p(C)}})},removeFormsFromPage:function(t){for(t="string"==typeof t?document.getElementById(t):t;t.firstChild;)t.removeChild(t.lastChild)},getUserData:function(n,t,e,i){var r=this._getFormObjectInScope(n);return r?r.getUserData(t,e,i):null},getFormData:function(n,t,e){var i=this._getFormObjectInScope(n);return i?i.getFormData(t,e):null},getFormHL7Data:function(n){var t=this._getFormObjectInScope(n);return t?LForms.HL7.toHL7Segments(t):null},getFormFHIRData:function(n,t,e,i){return(!e||e instanceof HTMLElement||"string"==typeof e)&&(e=this._getFormObjectInScope(e)),this._convertLFormsToFHIRData(n,t,e,i)},checkValidity:function(n){var t=this._getFormObjectInScope(n);return t?t.checkValidity():null},_convertLFormsToFHIRData:function(n,t,e,i){i||(i={}),e instanceof LForms.LFormsData||(e=new LForms.LFormsData(e));var r=this.validateFHIRVersion(t),o=LForms.FHIR[r],a=null;if(e)switch(n){case"DiagnosticReport":var s=i?i.bundleType:void 0;a=o.DiagnosticReport.createDiagnosticReport(e,i.subject,null!=s,s);break;case"Questionnaire":a=o.SDC.convertLFormsToQuestionnaire(e,i.noExtensions);break;case"QuestionnaireResponse":a=i.extract?o.SDC.convertLFormsToQRAndExtracFHIRData(e,i.noExtensions,i.subject):o.SDC.convertLFormsToQuestionnaireResponse(e,i.noExtensions,i.subject)}return a},convertFHIRQuestionnaireToLForms:function(n,t){var e=null;return n&&(t=this._requireValidFHIRVersion(t,n),e=LForms.FHIR[t].SDC.convertQuestionnaireToLForms(n)),e},mergeFHIRDataIntoLForms:function(n,t,e){if("string"==typeof n&&(n=t,t=e,e=arguments[3]),n){e=this._requireValidFHIRVersion(e,n);var i=LForms.FHIR[e];switch(n.resourceType){case"DiagnosticReport":(t=i.DiagnosticReport.mergeDiagnosticReportToLForms(t,n)).hasSavedData=!0;break;case"Bundle":"searchset"===n.type&&n.entry.find(r=>"DiagnosticReport"===r.resource.resourceType)&&((t=i.DiagnosticReport.mergeDiagnosticReportToLForms(t,n)).hasSavedData=!0);break;case"QuestionnaireResponse":(t=i.SDC.mergeQuestionnaireResponseToLForms(t,n)).hasSavedData=!0}}return t},_requireValidFHIRVersion:function(n,t){if(n||(n=this.detectFHIRVersion(t)||this.guessFHIRVersion(t)),!n)throw new Error("Could not determine the FHIR version for this resource. Please make sure it is specified via meta.profile (see http://build.fhir.org/versioning.html#mp-version and https://www.hl7.org/fhir/references.html#canonical). Example 1: http://hl7.org/fhir/4.0/StructureDefinition/Questionnaire (for Questionnaire version 4.0, a.k.a. R4).Example 2: http://hl7.org/fhir/3.0/StructureDefinition/Questionnaire (for Questionnaire version 3.0, a.k.a. STU3).Example 3: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire|2.7 (for SDC Questionnaire version 2.7).");return this.validateFHIRVersion(n)},setFHIRContext:function(n,t){if(!LForms.FHIR)throw new Error("LHC-Forms FHIR support files have not been loaded.See http://lhncbc.github.io/lforms/#fhirScripts");LForms.fhirContext={client:n,vars:t},LForms.fhirCapabilities={},delete LForms._serverFHIRReleaseID},_fhirVersionToRelease:function(n){let t=n,e=n.match(/^\d+(\.\d+)/);if(e){const i=parseFloat(e[0]);t=i>3&&i<=4?"R4":i>=1.1&&i<=3?"STU3":n}return t},getServerFHIRReleaseID:function(n){if(!LForms.fhirContext)throw new Error("setFHIRContext needs to be called before getFHIRReleaseID");if(!LForms.fhirContext.client)throw new Error("setFHIRContext was called, but no server connection was provided");if(LForms._serverFHIRReleaseID)setTimeout(function(){n(LForms._serverFHIRReleaseID)});else try{LForms.fhirContext.client.getFhirVersion().then(function(e){LForms._serverFHIRReleaseID=LForms.Util._fhirVersionToRelease(e),console.log("Server FHIR version is "+LForms._serverFHIRReleaseID+" ("+e+")"),n(LForms._serverFHIRReleaseID)},function(e){console.log("Error retrieving server's CompatibilityStatement:"),console.log(e),n()})}catch(e){throw setTimeout(function(){n()}),e}},validateFHIRVersion:function(n){if(!LForms.Util.FHIRSupport[n])throw new Error("Version "+n+" of FHIR is not supported.");if(!LForms.FHIR)throw new Error("The FHIR support files for LHC-Forms do not appear to have been loaded. Please consult the documentation at http://lhncbc.github.io/lforms/#fhirSupport.");if(!LForms.FHIR[n])throw new Error("Version "+n+" of FHIR is supported, but the supporting code was not loaded.");return n},detectFHIRVersion:function(n){let t=null;return n.meta&&n.meta.profile&&(t=this.detectFHIRVersionFromProfiles(n.meta.profile)),t},detectFHIRVersionFromProfiles(n){if(!n||!n.length)return null;let t=null;for(let i=0;i<n.length;i++){var e=n[i].match(KA);let r;if(e?r=e[1]:(e=n[i].match(QA))&&(r=e[1],"2.0"===r?r="3.0":parseFloat(r)>=2.1&&(r="4.0")),r){const o=this._fhirVersionToRelease(r);(!t||z_[o]>z_[t])&&(t=o)}}return t},guessFHIRVersion:function(n){var t=null;return"Questionnaire"==n.resourceType?t=this._testValues(n,"item",function(r){return!!(r.option||r.options||r.enableWhen&&"hasAnswer"in r.enableWhen)})?"STU3":"R4":"QuestionnaireResponse"==n.resourceType&&(t=n.parent||this._testValues(n,"item",function(o){return!!o.subject})?"STU3":"R4"),t},_testValues:function(n,t,e){var i=!1;if(n instanceof Array)for(var r=0,o=n.length;!i&&r<o;++r)i=this._testValues(n[r],t,e);else if("object"==typeof n)for(var a=Object.keys(n),s=0,l=a.length;!i&&s<l;++s){var h=a[s],p=n[h];if(h===t)if(p instanceof Array)for(var C=0,N=p.length;!i&&C<N;++C)i=e(p[C]);else i=e(p);i||(i=this._testValues(p,t,e))}return i},_getFormObjectInScope:function(n){var t,e;if("string"==typeof n&&(n=document.querySelector(n)),n)e=n.getElementsByTagName("wc-lhc-form");else{var i=document.getElementsByTagName("body");e=i&&i.length>0?(n=i[0]).getElementsByTagName("wc-lhc-form"):document.getElementsByTagName("wc-lhc-form")}for(let r of e){t=r.lhcFormData;break}return t},isItemValueEmpty:function(n){var t=!0;if(null!=n&&""!==n&&"function"!=typeof n)if("string"==typeof n||n instanceof String)t=""===n.trim();else if(Array.isArray(n)){for(var e=0;e<n.length;++e)if(!this.isItemValueEmpty(n[e])){t=!1;break}}else if("object"==typeof n){var i=Object.keys(n);if(i.length>0){e=0;for(var r=i.length;e<r;e++)if(!this.isItemValueEmpty(n[i[e]])){t=!1;break}}else n.constructor!==Object&&(t=!1)}else t=!1;return t},findItem:function(n,t,e){var i=null;if(n)for(var r=0;!i&&r<n.length;++r){var o=n[r];o[t]===e?i=o:Array.isArray(o.items)&&(i=this.findItem(o.items,t,e))}return i},initializeCodes:function(n){var t=n.question||n.questionCode,e=t?n.questionCode:n.code,r=t?n.question:n.name,o=this.getCodeSystem(t?n.questionCodeSystem:n.codeSystem);if(e){n.codeList||(n.codeList=[]);for(var a=n.codeList,s=!1,l=0;l<a.length;l++)if(e===a[l].code&&(!o&&!a[l].system||o===a[l].system)){s=!0;break}s||"LinkId"===o||(e={code:e,display:r},o&&(e.system=o),a.unshift(e))}else n.codeList&&n.codeList.length>0&&(t?(n.questionCode=n.codeList[0].code,n.questionCodeSystem=n.codeList[0].system):(n.code=n.codeList[0].code,n.codeSystem=n.codeList[0].system));return n},createLocalFHIRReference:function(n){var t={reference:n.resourceType+"/"+n.id};if("Patient"===n.resourceType&&n.name&&n.name.length>0){var e=n.name[0];e.text?t.display=e.text:(e.given&&e.given.length>0&&(t.display=e.given[0]),e.family&&(t.display=t.display?t.display+" "+e.family:e.family))}return t},getCodeSystem:function(n){return"LOINC"===n?"http://loinc.org":n},removeObjectsFromArray:function(n,t,e,i,r){var o=r?[]:null,a=r?[]:null;if(Array.isArray(n)){var s=0;i&&Math.abs(i)<n.length&&(s=i<0?n.length+i:i);for(var l=n.length,h=s;h<l;h++)if(n[h][t]===e){var p=n[h];if(!r){o=h,a=p;break}o.push(h),a.push(p)}if(Array.isArray(o))for(h=o.length-1;h>=0;h--)n.splice(o[h],1);else null!==o&&n.splice(o,1)}return a},baseFormDef:function(){return{lformsVersion:LForms.lformsVersion}},getAnswersResourceStatus:function(n){return(!n||n instanceof HTMLElement||"string"==typeof n)&&(n=this._getFormObjectInScope(n)),n.checkAnswersResourceStatus()},loadScript:function(n){return new Promise(function(t,e){var i=document.createElement("script");i.onreadystatechange=t,i.onload=t,i.onerror=e,i.src=n,document.body.appendChild(i)})},loadFHIRLibs:function(n,t){return Promise.all([this.loadScript(n),this.loadScript(t)])},_hasMultipleAnswers:function(n){return n.answerCardinality&&n.answerCardinality.max&&("*"===n.answerCardinality.max||parseInt(n.answerCardinality.max)>1)}};O_._internalUtil=Oo;const Io=Tm(Tm({},It),O_),Ge_DATA_CONTROL_CONSTRUCTION_ARRAY="ARRAY",Ge_DATA_CONTROL_CONSTRUCTION_OBJECT="OBJECT",Ge_DATA_CONTROL_CONSTRUCTION_SIMPLE="SIMPLE",Ge_DATA_CONTROL_SOURCE_INTERNAL="INTERNAL",Ge_SKIP_LOGIC_ACTION_ENABLE="show",Ge_SKIP_LOGIC_ACTION_DISABLE="hide",Ge_SKIP_LOGIC_STATUS_ENABLED="target-enabled",Ge_SKIP_LOGIC_STATUS_DISABLED="target-disabled",Ge_CALCULATION_METHOD_TOTALSCORE="TOTALSCORE",Ge_DATA_TYPE_INT="INT",Ge_DATA_TYPE_REAL="REAL",Ge_DATA_TYPE_ST="ST",Ge_DATA_TYPE_TX="TX",Ge_DATA_TYPE_DT="DT",Ge_DATA_TYPE_DTM="DTM",Ge_DATA_TYPE_TM="TM",Ge_DATA_TYPE_CNE="CNE",Ge_DATA_TYPE_CWE="CWE",Ge_DATA_TYPE_SECTION="SECTION",Ge_DATA_TYPE_TITLE="TITLE",Ge_DATA_TYPE_QTY="QTY",Ge_DATA_TYPE_BL="BL",Z4={_timeout:1500,_restrictionKeys:["minExclusive","minInclusive","maxExclusive","maxInclusive","totalDigits","fractionDigits","length","minLength","maxLength","enumeration","whiteSpace","pattern"],_dataTypes:["BL","INT","REAL","ST","TX","BIN","DT","DTM","TM","CNE","CWE","RTO","QTY","NR","YEAR","MONTH","DAY","URL","EMAIL","PHONE",""],_errorMessages:{BL:"must be a boolean (true/false).",INT:"must be an integer number.",REAL:"must be a decimal number.",ST:"must be a string value.",TX:"must be a text value.",BIN:"must be a binary value.",DT:"must be a date value.",DTM:"must be a date and time value.",TM:"must be a time value.",CNE:"must be a value from the answer list.",CWE:"must be a value from the answer list or a user supplied value.",RTO:"must be a ratio value.",QTY:"must be a decimal number",NR:"must be two numeric values separated by a ^. One value can be omitted, but not the ^.",YEAR:"must be a numeric value of year.",MONTH:"must be a numeric value of month.",DAY:"must be a numeric value of day.",URL:"must be a valid URL.",EMAIL:"must be a valid email address.",PHONE:"must be a valid phone number."},checkRequired:function(n,t,e){var i=!0;return n&&(null==t||""===t||Array.isArray(t)&&0===t.length)&&(i=!1,e.push("requires a value")),i},checkDataType:function(n,t,e){var i=!0;if(null!=t&&""!==t)switch(n){case"BL":!0!==t&&!1!==t&&(i=!1);break;case"INT":i=It.isInteger(t);break;case"REAL":case"QTY":i=It.isDecimal(t);break;case"PHONE":i=/(((^\s*(\d\d){0,1}\s*(-?|\.)\s*(\(?\d\d\d\)?\s*(-?|\.?)){0,1}\s*\d\d\d\s*(-?|\.?)\s*\d{4}\b)|(^\s*\+\(?(\d{1,4}\)?(-?|\.?))(\s*\(?\d{2,}\)?\s*(-?|\.?)\s*\d{2,}\s*(-?|\.?)(\s*\d*\s*(-|\.?)){0,3})))(\s*(x|ext|X)\s*\d+){0,1}$)/.test(t);break;case"EMAIL":i=/^\s*((\w+)(\.\w+)*)@((\w+)(\.\w+)+)$/.test(t);break;case"URL":i=/^(https?|ftp):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?$/.test(t);break;case"TM":i=/^\s*(((\d|[0-1]\d|2[0-4]):([0-5]\d))|(\d|0\d|1[0-2]):([0-5]\d)\s*([aApP][mM]))\s*$/.test(t);break;case"YEAR":i=/^\d{1,4}$/.test(t);break;case"MONTH":i=/^(0?[1-9]|1[012])$/.test(t);break;case"DAY":i=/^(0?[1-9]|[12]\d|3[01])$/.test(t);break;case"NR":i=/^(\-?\d+(\.\d*)?)?\s*\^\s*(\-?\d+(\.\d*)?)?$/.test(t);break;case"DT":i=It.isValidDate(t);break;default:i=!0}return Array.isArray(e)&&!i&&e.push(this._errorMessages[n]),i},checkRestrictions:function(n,t,e){var i=!0;if(null!=t&&""!==t)for(var r in n){var o=!0,a=n[r];switch(r){case"minExclusive":parseFloat(t)>parseFloat(a)?o=!0:(o=!1,e.push("must be a value greater than "+a+"."));break;case"minInclusive":parseFloat(t)>=parseFloat(a)?o=!0:(o=!1,e.push("must be a value greater than or equal to "+a+"."));break;case"maxExclusive":parseFloat(t)<parseFloat(a)?o=!0:(o=!1,e.push("must be a value less than "+a+"."));break;case"maxInclusive":parseFloat(t)<=parseFloat(a)?o=!0:(o=!1,e.push("must be a value less than or equal to "+a+"."));break;case"totalDigits":case"fractionDigits":break;case"length":t.length==parseInt(a)?o=!0:(o=!1,e.push("must have a total length of "+a+"."));break;case"maxLength":t.length<=parseInt(a)?o=!0:(o=!1,e.push("must have a total length less than or equal to "+a+"."));break;case"minLength":t.length>=parseInt(a)?o=!0:(o=!1,e.push("must have a total length greater than or equal to "+a+"."));break;case"pattern":var s=a.indexOf("/"),l=a.lastIndexOf("/"),h=a.slice(s+1,l),p=a.slice(l+1);new RegExp(h,p).test(t)?o=!0:(o=!1,e.push("must match a RegExp pattern of "+a+"."));break;default:o=!0}i=i&&o}return i}};let ZA={getValueInStandardUnit:function(n,t){return(n*this.units_[t]).toFixed(this.precision_)},getStandardUnit:function(){},precision_:4,units_:{kg:1,kgs:1,kilograms:1,pounds:.453592,lbs:.453592,cm:1,cms:1,centimeters:1,feet:30.48,ft:30.48,inches:2.54,"[in_i]":2.54,meters:100,"ft-inches":2.54}},XA={calculations_:{precision_:2,TOTALSCORE:function(n){for(var t=0,e=0,i=n.length;e<i;e++)t+=parseFloat(n[e]);return t},BMI:function(n){var t="",e=parseFloat(n[0]),i=parseFloat(n[1]);return e&&""!=e&&i&&""!=i&&"0"!=i&&(t=(t=e/Math.pow(i/100,2)).toFixed(this.precision_)),t},BSA:function(n){var t="",e=parseFloat(n[0]),i=parseFloat(n[1]);return e&&""!=e&&i&&""!=i&&(t=(t=Math.sqrt(i*e/3600)).toFixed(this.precision_)),t}}};class A_{constructor(t,e=null){if(this.code=null,this.codeList=null,this.identifier=null,this.name=null,this.templateOptions={},this.items=[],this.PATH_DELIMITER="/",this.hasSavedData=!1,this._invalidData=!1,this._repeatableItems={},this._opt={},this._actionLogs=[],this._activeItem=null,this._defaultTemplateOptions={showQuestionCode:!1,showCodingInstruction:!1,allowMultipleEmptyRepeatingItems:!1,allowHTMLInInstructions:!1,displayControl:{questionLayout:"vertical"},viewMode:"auto",defaultAnswerLayout:{answerLayout:{type:"COMBO_BOX",columns:"0"}},hideTreeLine:!1,hideIndentation:!1,hideRepetitionNumber:!1,displayScoreWithAnswerText:!0},this.lformsVersion="34.0.1",this._packageStore=null,this._variableExt=null,this._codePath="",this._idPath="",this._displayLevel=0,this._linkToDef=null,this._horizontalTableInfo={},e&&(this._packageStore=e),t&&t._initializeInternalData){for(var i=Object.getOwnPropertyNames(t),r=0;r<i.length;r++)i[r]&&!i[r].startsWith("_")&&"function"!=typeof t[i[r]]&&(this[i[r]]=t[i[r]]);t._variableExt&&(this._variableExt=t._variableExt)}else Object.assign(this,t),this.templateOptions=t.templateOptions||{},this.PATH_DELIMITER=t.PATH_DELIMITER||"/";LForms.FHIR&&t.fhirVersion&&this._initializeFormFHIRData(t),this._initializeInternalData()}setMessageLevel(t){this._showInfo="info"==t,this._showWarnings=this._showInfo||"warning"==t,this._showErrors=this._showWarnings||"error"==t}_getResourcesFromPackageStore(t,e){var i=null;if(this._packageStore&&e&&t)for(var r=e.split("|"),o=r[0],a=r[1],s=0,l=this._packageStore.length;s<l;s++){var h=this._packageStore[s];if(h.resourceType===t&&h.url===o&&(a&&h.version===a||!a)){i=JSON.parse(JSON.stringify(h));break}}return i}checkAnswersResourceStatus(){for(var t=[],e=0,i=this.itemList.length;e<i;e++){var r=this.itemList[e];r.answerValueSet&&!r.answers&&t.push("Resource not loaded: "+r.answerValueSet)}return t}addAsyncChangeListener(t){this._asyncChangeListeners||(this._asyncChangeListeners=[]),this._asyncChangeListeners.push(t)}_notifyAsyncChangeListeners(){if(this._asyncChangeListeners)for(var t=0,e=this._asyncChangeListeners.length;t<e;++t)this._asyncChangeListeners[t]()}_initializeFormFHIRData(t){this.fhirVersion=t.fhirVersion,this._fhir=LForms.FHIR[this.fhirVersion],this._expressionProcessor=new this._fhir.SDC.ExpressionProcessor(this),this._fhirVariables={},this.extension=t.extension?t.extension.slice(0):null,t.extension&&(this._fhir.SDC.buildExtensionMap(this),this._hasResponsiveExpr=this._hasResponsiveExpr||this._fhir.SDC.hasResponsiveExpression(this),this._hasInitialExpr=this._hasInitialExpr||this._fhir.SDC.hasInitialExpression(this)),this._fhir.SDC.processExtensions(this,"obj_title")}_getFHIRSupport(){var t=this._fhir;if(!t){var e=Object.keys(LForms.FHIR);if(e.length>0&&(t=LForms.FHIR[e[0]]),!t)throw new Error("The LHC-Forms FHIR support file was not loaded.");this._fhir=t}return t}loadFHIRResources(t){LForms.fhirContext||console.log("Warning: FHIR resources might not be loaded, because loadFHIRResources() was called before LForms.Util.setFHIRContext()");var e=this,i=this._fhir.SDC,r=i.loadLaunchContext(this);return r=r.concat(i.loadAnswerValueSets(this)),t&&r.push(i.requestLinkedObs(this)),Promise.all(r).then(function(){e._notifyAsyncChangeListeners()}).catch(function(a){throw a})}_buildURL(t,e){let i=t.map(r=>encodeURIComponent(r)).join("/");return e&&(i+="?"+Object.keys(e).map(r=>r+"="+encodeURIComponent(e[r])).join("&")),i}_loadAnswerValueSetsFromPackage(t){if(t.answerValueSet){var e=this._getResourcesFromPackageStore("ValueSet",t.answerValueSet);if(e&&this._fhir){var i=this._fhir.SDC.answersFromVS(e.fileContent);i&&(t.answers=i)}}}_checkFHIRVarName(t){if(this._fhir.reservedVarNames[t])throw'The "'+t+'" variable name is reserved; Questionnaires may not assign a value to it.'}_initializeInternalData(){this._setDefaultValues(),Io.initializeCodes(this),this._repeatableItems={},this._setTreeNodes(this.items,this),this._updateLastRepeatingItemsStatus(this.items),this.itemList=[],this.itemHash={},this._updateItemReferenceList(this.items),this._standardizeScoreRule(this.itemList),this._resetHorizontalTableInfo(),this._adjustLastSiblingListForHorizontalLayout(),this._setUpAnswerAndUnitAutoComp(this.itemList),this._setupSourceToTargetMap(),this._checkFormControls()}_resetInternalData(){this._updateTreeNodes(this.items,this),this._updateLastRepeatingItemsStatus(this.items),this.itemList=[],this.itemHash={},this._updateItemReferenceList(this.items),this._standardizeScoreRule(this.itemList),this._resetHorizontalTableInfo(),this._adjustLastSiblingListForHorizontalLayout(),this._setUpAnswerAndUnitAutoComp(this.itemList),this._setupSourceToTargetMap(),this._checkFormControls()}updateSkipLogicControlledItems(t,e){var i=!1;if(t._skipLogicTargets)for(var r=0,o=t._skipLogicTargets.length;r<o;r++){var a=t._skipLogicTargets[r];i=this._updateItemSkipLogicStatus(a,null)||i,i=this.updateSkipLogicControlledItems(a,e)||i}return e(t)||i}updateOnSourceItemChange(t){for(var e=this,i=!0;i;)i=this.updateSkipLogicControlledItems(t,function(r){var o=!1;if(r._formulaTargets)for(var a=0,s=r._formulaTargets.length;a<s;a++)o=e._processItemFormula(r._formulaTargets[a])||o;if(r._dataControlTargets)for(a=0,s=r._dataControlTargets.length;a<s;a++)o=e._processItemDataControl(r._dataControlTargets[a])||o;return o});if(this._updateTreeNodes(this.items,this),this._updateLastRepeatingItemsStatus(this.items),this._resetHorizontalTableInfo(),this._adjustLastSiblingListForHorizontalLayout(),LForms.FHIR&&this._hasResponsiveExpr){let r=this;setTimeout(function(){r._expressionProcessor.runCalculations(!1).then(()=>{r._checkFormControls()})})}}_checkValidations(t){if(t._hasValidation){var e=[];Z4.checkRequired(t._answerRequired,t.value,e),Z4.checkDataType(t.dataType,t.value,e),Z4.checkRestrictions(t.restrictions,t.value,e),t._validationErrors=e}}_checkFormControls(){for(var t=!0;t;){t=!1;for(var e=0,i=this.itemList.length;e<i;e++){var r=this.itemList[e];r.calculationMethod&&(t=this._processItemFormula(r)||t),r.dataControl&&(t=this._processItemDataControl(r)||t),r.skipLogic&&(t=this._updateItemSkipLogicStatus(r,null)||t),r.isHiddenInDef&&(r._isHiddenFromView||(t=!0),r._isHiddenFromView=!0,t=this._setSubItemsHidden(r)||t)}}this._updateTreeNodes(this.items,this),this._updateLastRepeatingItemsStatus(this.items),this._resetHorizontalTableInfo(),this._adjustLastSiblingListForHorizontalLayout()}_setSubItemsHidden(t){var e=!1;if(t.items&&t.items.length>0)for(var i=0,r=t.items.length;i<r;i++){var o=t.items[i];o._isHiddenFromView||(e=!0),o._isHiddenFromView=!0,e=this._setSubItemsHidden(o)||e}return e}_setupSourceToTargetMap(){for(var t=0,e=this.itemList.length;t<e;t++){var i=this.itemList[t];if(i.calculationMethod&&i.calculationMethod.name)for(var r=this._getFormulaSourceItems(i,i.calculationMethod.value),o=0,a=r.length;o<a;o++)r[o]._formulaTargets?r[o]._formulaTargets.push(i):r[o]._formulaTargets=[i];if(i.dataControl&&Array.isArray(i.dataControl))for(o=0,a=i.dataControl.length;o<a;o++){var s=i.dataControl[o].source;if(s&&(!s.sourceType||s.sourceType===Ge_DATA_CONTROL_SOURCE_INTERNAL)&&s.sourceLinkId){if(!(l=this._findItemByLinkId(i,s.sourceLinkId)))throw new Error("Data control for item '"+i.question+"' refers to source item '"+s.sourceLinkId+"' which was not found as a sibling, ancestor, or ancestor sibling.");l._dataControlTargets?l._dataControlTargets.push(i):l._dataControlTargets=[i]}}if(i.skipLogic)for(o=0,a=i.skipLogic.conditions.length;o<a;o++){var l;(l=this._getSkipLogicSourceItem(i,i.skipLogic.conditions[o].source))._skipLogicTargets?l._skipLogicTargets.push(i):l._skipLogicTargets=[i]}}}_updateItemSkipLogicStatus(t,e){var r,i=!1;if(e)i=this._setSkipLogicStatusValue(t,Ge_SKIP_LOGIC_STATUS_DISABLED)||i,r=!0;else{if(t.skipLogic){var o=this._checkSkipLogic(t);t.skipLogic.action&&t.skipLogic.action!==Ge_SKIP_LOGIC_ACTION_ENABLE?t.skipLogic.action===Ge_SKIP_LOGIC_ACTION_DISABLE&&(i=this._setSkipLogicStatusValue(t,o?Ge_SKIP_LOGIC_STATUS_DISABLED:Ge_SKIP_LOGIC_STATUS_ENABLED)||i):i=this._setSkipLogicStatusValue(t,o?Ge_SKIP_LOGIC_STATUS_ENABLED:Ge_SKIP_LOGIC_STATUS_DISABLED)||i}else t._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED&&(i=this._setSkipLogicStatusValue(t,Ge_SKIP_LOGIC_STATUS_ENABLED)||i);r=t._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED}if(t.items&&t.items.length>0)for(var s=0,l=t.items.length;s<l;s++)i=this._updateItemSkipLogicStatus(t.items[s],r)||i;return i}_presetSkipLogicStatus(t,e){if((t.skipLogic||e)&&(this._setSkipLogicStatusValue(t,Ge_SKIP_LOGIC_STATUS_DISABLED,!0),t.items))for(var r=0,o=t.items.length;r<o;r++)this._presetSkipLogicStatus(t.items[r],!0)}_setSkipLogicStatusValue(t,e,i=!1){var r=!1;return t._skipLogicStatus!==e&&(t._skipLogicStatus&&(i||this._actionLogs.push(e===Ge_SKIP_LOGIC_STATUS_DISABLED?"Hiding "+t._text:"Showing "+t._text)),t._preSkipLogicStatus=t._skipLogicStatus,t._skipLogicStatus=e,r=!0),r}_updateItemReferenceList(t){for(var e=0,i=t.length;e<i;e++){var r=t[e];this.itemList.push(r),this.itemHash[r._elementId]=r,r.items&&r.items.length>0&&this._updateItemReferenceList(r.items)}}_findItemsWithScore(){for(var t={},e=0,i=this.itemList.length;e<i;e++){var r=this.itemList[e];if(("CNE"===r.dataType||"CWE"===r.dataType)&&r.answers&&Array.isArray(r.answers)&&r.answers.length>0)for(var o=0,a=r.answers.length;o<a;o++){var s=r.answers[o];if(s&&s.hasOwnProperty("score")&&!isNaN(s.score)){t[r.linkId]=r;break}}}return Object.keys(t)}_standardizeScoreRule(t){for(var e=0,i=t.length;e<i;e++){var r=t[e];if(r.calculationMethod&&(r.calculationMethod.name===Ge_CALCULATION_METHOD_TOTALSCORE||r.calculationMethod===Ge_CALCULATION_METHOD_TOTALSCORE)){r.calculationMethod={name:Ge_CALCULATION_METHOD_TOTALSCORE,value:[]};var o=this._findItemsWithScore();r.calculationMethod.value=o}}}_setDefaultValues(){this._codePath="",this._idPath="",this._displayLevel=0,this._activeItem=null,"LOINC"===this.codeSystem&&(this._linkToDef="http://s.details.loinc.org/LOINC/"+this.code+".html"),(!this.template||0==this.template.length||"form-view-a"===this.template||"form-view-b"===this.template)&&(this.template="table");var t=It.deepCopy(this.templateOptions),e=It.deepCopy(this._defaultTemplateOptions);this.setTemplateOptions(t,e)}_mergeTwoArrays(t,e){for(var i=0,r=e.length;i<r;i++)if(e[i])for(var o=Object.keys(e[i]),a=0,s=o.length;a<s;a++)(null!==e[i][o[a]]||void 0!==e[i][o[a]])&&(t[i][o[a]]=e[i][o[a]])}setTemplateOptions(t,e=null){if(t){e||(e=It.deepCopy(this.templateOptions));let i=void 0!==t.displayScoreWithAnswerText&&t.displayScoreWithAnswerText!==e.displayScoreWithAnswerText;if(this.templateOptions=Object.assign({},e,t),i)for(let r=0,o=this.itemList.length;r<o;r++){let a=this.itemList[r];a._hasAnswerList&&a._hasScoreInAnswer&&this._updateAutocompOptions(a)}this.setMessageLevel(this.templateOptions.messageLevel)}}_lfItemValueFromDefaultAnswer(t){var e=t.defaultAnswer;if(null==e||""===e)return!1;!t._hasAnswerList&&(t.dataType===Ge_DATA_TYPE_DTM||t.dataType===Ge_DATA_TYPE_DT)&&"string"==typeof e&&((e=It.stringToDate(e))||console.error(t.defaultAnswer+": Invalid date/datetime string as defaultAnswer for "+t.questionCode)),Oo.assignValueToItem(t,e)}_setTreeNodes(t,e){for(var i=t.length,r=i-1,o=null,a=1,s=0;s<i;s++){var l=t[s];if(Io.initializeCodes(l),l._text=l.prefix?l.prefix+" "+l.question:l.question,l.header?l.dataType!==Ge_DATA_TYPE_TITLE&&(l.dataType=Ge_DATA_TYPE_SECTION):l.units&&!l.dataType?l.dataType=Ge_DATA_TYPE_REAL:l.dataType||(l.dataType=Ge_DATA_TYPE_ST),("string"==typeof l.answers||"number"==typeof l.answers)&&this.answerLists&&Array.isArray(this.answerLists[l.answers])&&(l.answers=this.answerLists[l.answers]),this._packageStore&&this._loadAnswerValueSetsFromPackage(l),l._hasAnswerList=Oo.hasAnswerList(l),"SECTION"===l.dataType?l.displayControl?l.displayControl.questionLayout||(l.displayControl.questionLayout="vertical"):(l.displayControl={questionLayout:"vertical"},l.layout&&(l.displayControl.questionLayout=l.layout,delete l.layout)):l._hasAnswerList&&(l.displayControl?l.displayControl.answerLayout||(l.displayControl.answerLayout=It.deepCopy(this.templateOptions.defaultAnswerLayout.answerLayout)):l.displayControl=It.deepCopy(this.templateOptions.defaultAnswerLayout)),l.extension&&this._fhir&&(this._fhir.SDC.buildExtensionMap(l),this._hasResponsiveExpr=this._hasResponsiveExpr||this._fhir.SDC.hasResponsiveExpression(l),this._hasInitialExpr=this._hasInitialExpr||this._fhir.SDC.hasInitialExpression(l),l._hasListExpr=this._fhir.SDC.hasListExpression(l)),this._updateItemAttrs(l),l._hasAnswerList?this._resetItemValueWithAnswers(l):!this.hasSavedData&&null!=l.defaultAnswer&&null==l.value&&this._lfItemValueFromDefaultAnswer(l),l._questionRepeatable&&o&&o.linkId===l.linkId?a+=1:a=1,l._id=a,l._idPath=e._idPath+this.PATH_DELIMITER+l._id,l._elementId=l.linkId+l._idPath,l._displayLevel=e._displayLevel+1,l._lastSibling=s===r,l._firstSibling=0===s,this._setupInFieldPlaceholders(l),l.value&&!l._hasAnswerList&&(l.dataType===Ge_DATA_TYPE_DT||l.dataType===Ge_DATA_TYPE_DTM)&&(l.value=It.stringToDate(l.value)),!l._hasAnswerList&&(l.dataType===Ge_DATA_TYPE_INT||l.dataType===Ge_DATA_TYPE_REAL||l.dataType===Ge_DATA_TYPE_QTY)&&"number"==typeof l.value&&(l.value=l.value+""),(l._answerRequired||l.restrictions||l.dataType!==Ge_DATA_TYPE_ST&&l.dataType!==Ge_DATA_TYPE_TX&&l.dataType!==Ge_DATA_TYPE_DTM&&l.dataType!==Ge_DATA_TYPE_DT&&l.dataType!==Ge_DATA_TYPE_TM&&!l._hasAnswerList)&&(l._hasValidation=!0),("LOINC"===l.questionCodeSystem||"LOINC"===this.codeSystem&&!l.questionCodeSystem)&&(l._linkToDef="http://s.details.loinc.org/LOINC/"+l.questionCode+".html"),l.items&&l.items.length>0&&this._setTreeNodes(l.items,l),l._questionRepeatable&&1===l._id){delete l._parentItem;var h=It.deepCopy(l);this._removeUserDataAndRepeatingSubItems(h),this._repeatableItems[l.linkId]=h}l._parentItem=e,o=l}}_setupInFieldPlaceholders(t){if(!t._readOnly)if(t._entryFormat)t._placeholder=t._entryFormat;else if(t._hasAnswerList)t._placeholder=t.dataType===Ge_DATA_TYPE_CWE?t.externallyDefined?t._multipleAnswers?"Search for or type values":"Search for or type a value":t._multipleAnswers?"Select one or more or type a value":"Select one or type a value":t.externallyDefined?t._multipleAnswers?"Search for values":"Search for value":t._multipleAnswers?"Select one or more":"Select one";else switch(t.dataType){case Ge_DATA_TYPE_DT:t._placeholder="MM/DD/YYYY";break;case Ge_DATA_TYPE_DTM:t._placeholder="MM/DD/YYYY HH:MM:SS";break;case Ge_DATA_TYPE_TM:t._placeholder="HH:MM:SS";break;case Ge_DATA_TYPE_CNE:t._placeholder=t.externallyDefined?t._multipleAnswers?"Search for values":"Search for value":t._multipleAnswers?"Select one or more":"Select one";break;case Ge_DATA_TYPE_CWE:t._placeholder=t.externallyDefined?t._multipleAnswers?"Search for or type values":"Search for or type a value":t._multipleAnswers?"Select one or more or type a value":"Select one or type a value";break;case"SECTION":case"TITLE":case"":t._placeholder="";break;case Ge_DATA_TYPE_INT:case Ge_DATA_TYPE_REAL:case Ge_DATA_TYPE_QTY:t._placeholder="Type a number";break;default:t._placeholder="Type a value"}}_removeUserDataAndRepeatingSubItems(t){if(t.value=null,t.unit=null,t.items&&t.items.length>0)for(var e=0;e<t.items.length;e++){var i=t.items[e];i._questionRepeatable&&1!=i._id?(t.items.splice(e,1),e--):this._removeUserDataAndRepeatingSubItems(i)}}_updateItemAttrs(t){if(t.questionCardinality||(t.questionCardinality={min:"1",max:"1"}),t.answerCardinality||(t.answerCardinality={min:"0",max:"1"}),!Array.isArray(t.answers)&&""!==t.answers&&this.answerLists&&(t.answers=this.answerLists[t.answers]),Array.isArray(t.answers)&&(t.dataType===Ge_DATA_TYPE_CNE||t.dataType===Ge_DATA_TYPE_CNE))for(var e=t.answerCodeSystem?Io.getCodeSystem(t.answerCodeSystem):null,i=0,r=t.answers.length;i<r;i++){var o=t.answers[i];o.system?o.system=Io.getCodeSystem(o.system):o.codeSystem?(o.system=Io.getCodeSystem(o.codeSystem),delete o.codeSystem):e&&(o.system=e)}t._questionRepeatable=t.questionCardinality.max&&("*"===t.questionCardinality.max||parseInt(t.questionCardinality.max)>1),t._answerRequired=t.answerCardinality.min&&t.answerCardinality.min&&parseInt(t.answerCardinality.min)>=1,t._multipleAnswers=Io._hasMultipleAnswers(t),t._readOnly=t.editable&&"0"===t.editable||!!t.calculationMethod,this._fhir&&(this._fhir.SDC.processExtensions(t,"obj_text"),this._fhir.SDC.processExtensions(t,"obj_prefix"))}_isHidden(t){return t._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED||t._isHiddenFromView||!1===t._enableWhenExpVal}_updateTreeNodes(t,e){for(var i=t.length,r=i-1,o=!1,a=i-1;a>=0;a--){if((s=t[a])._id||(s._id=1),s._idPath=e._idPath+this.PATH_DELIMITER+s._id,s._elementId=s.linkId+s._idPath,s._displayLevel=e._displayLevel+1,s._parentItem=e,s._repeatingSectionList=null,this._updateItemAttrs(s),s._lastSibling=a===r,o||(this._isHidden(s)?(s._lastSibling=!1,r-=1):(s._lastSibling=!0,o=!0)),s._questionRepeatable&&1===s._id&&!this._repeatableItems[s.linkId]){delete s._parentItem;var l=It.deepCopy(s);this._removeUserDataAndRepeatingSubItems(l),this._repeatableItems[s.linkId]=l}s._parentItem=e,s.items&&s.items.length>0&&this._updateTreeNodes(s.items,s)}var h=!1,p=0;for(a=0;a<i;a++){var s;(s=t[a])._firstSibling=a===p,h||(s._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED?(s._firstSibling=!1,p+=1):(s._firstSibling=!0,h=!0))}}getFormData(t,e,i){for(var r=this.getUserData(!1,t,e,i),o=!1,a=0,s=this.itemList.length;a<s;a++)if(!Io.isItemValueEmpty(this.itemList[a].value)){o=!0;break}var h={lformsVersion:this.lformsVersion,PATH_DELIMITER:this.PATH_DELIMITER,code:this.code,codeList:this.codeList,identifier:this.identifier,codeSystem:this.codeSystem,name:this.name,type:this.type,template:this.template,copyrightNotice:this.copyrightNotice,items:r.itemsData,templateOptions:It.deepCopy(this.templateOptions)};return this.extension&&this.extension.length>0&&(h.extension=this.extension),o&&(h.hasSavedData=!0),this.fhirVersion&&(h.fhirVersion=this.fhirVersion),h}getUserData(t,e,i,r){var o={};return this._invalidData=!1,this._checkSubTreeValues(this.items),o.itemsData=this._processDataInItems(this.items,t,e,i,r),It.deepCopy(o)}checkValidity(){const t=[],e=this.itemList.length;for(let i=0;i<e;i++){const r=this.itemList[i];if(r._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED&&(this._checkValidations(r),void 0!==r._validationErrors&&r._validationErrors.length)){const o=r._validationErrors.map(a=>`${r.question} ${a}`);Array.prototype.push.apply(t,o)}}return t.length?t:null}_checkSubTreeValues(t){for(var e=0,i=t.length;e<i;e++)this._setSubTreeHasValue(t[e])}_setSubTreeHasValue(t){var e=!1;if(Io.isItemValueEmpty(t.value)||(e=!0),t.items&&t.items.length>0)for(var i=0,r=t.items.length;i<r;i++)this._setSubTreeHasValue(t.items[i])&&(e=!0);return t._itemOrSubtreeHasValue=e,e}_processDataInItems(t,e,i,r,o){for(var a=[],s=0,l=t.length;s<l;s++){var h=t[s],p={};if(!(r&&h._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED||i&&!h._itemOrSubtreeHasValue&&h.dataType!==Ge_DATA_TYPE_SECTION&&h.dataType!==Ge_DATA_TYPE_TITLE)){if(e)p.questionCode=h.questionCode,h.dataType!==Ge_DATA_TYPE_SECTION&&h.dataType!==Ge_DATA_TYPE_TITLE&&(void 0!==h.value&&(p.value=this._getOriginalValue(h.value,h.dataType,h._hasAnswerList)),h.unit&&(p.unit=this._getOriginalValue(h.unit)));else for(var C in h.extension&&h.extension.length>0&&(p.extension=h.extension),h)"value"===C?p[C]=this._getOriginalValue(h[C],h.dataType,h._hasAnswerList):"unit"===C?p[C]=this._getOriginalValue(h[C]):!C.match(/^[_\$]/)&&"extension"!==C&&(p[C]=h[C]),o&&(p._id=h._id);h.items&&h.items.length>0&&(p.items=this._processDataInItems(h.items,e,i,r,o)),(!i||p.items&&0!==p.items.length||h._itemOrSubtreeHasValue)&&a.push(p)}}return a}_filterInternalData(t,e){var i={};if(e&&t._notOnList&&!t.code&&!t.system)i=t.text;else for(var r in t)r.match(/^[_\$]/)||(i[r]=t[r]);return i}getItemValues(t){var e;if(t._questionRepeatable){e=[];for(var r=t._parentItem.items,o=t.linkId,a=!1,s=0,l=r.length;s<l;++s){var h=r[s];if(h.linkId===o)Io.isItemValueEmpty(h.value)||e.push(h.value),a=!0;else if(a)break}}else{var i=t.value;e=Io.isItemValueEmpty(i)?[]:t._multipleAnswers?i:[i]}return e}_getObjectValue(t,e=!1){var i=null;if(t)if(Array.isArray(t)){for(var r=[],o=0,a=t.length;o<a;o++)r.push("object"==typeof t[o]?this._filterInternalData(t[o],e):t[o]);i=r}else"object"==typeof t&&(i=this._filterInternalData(t,e));return i}_getOriginalValue(t,e=null,i=!1){var r;if(null!=t)if(e)switch(e){case Ge_DATA_TYPE_INT:i?r=t:Array.isArray(t)?r=t.map(o=>(It.isInteger(o)||(this._invalidData=!0),parseInt(o))):(It.isInteger(t)||(this._invalidData=!0),r=parseInt(t));break;case Ge_DATA_TYPE_REAL:case Ge_DATA_TYPE_QTY:It.isDecimal(t)||(this._invalidData=!0),r=parseFloat(t);break;case Ge_DATA_TYPE_DT:r=i?t:Array.isArray(t)?t.map(o=>It.dateToDTStringISO(o)):It.dateToDTStringISO(t);break;case Ge_DATA_TYPE_DTM:r=It.dateToDTMString(t);break;case Ge_DATA_TYPE_CNE:r=this._getObjectValue(t);break;case Ge_DATA_TYPE_CWE:r=this._getObjectValue(t,!0);break;case Ge_DATA_TYPE_BL:r=!!t;break;default:r=t}else r=this._getObjectValue(t);return r}getRepeatingItemMaxId(t){var e=t._id;if(t._parentItem&&Array.isArray(t._parentItem.items))for(var i=0,r=t._parentItem.items.length;i<r;i++)t._parentItem.items[i].linkId===t.linkId&&t._parentItem.items[i]._id>e&&(e=t._parentItem.items[i]._id);return e}getRepeatingItemCount(t){var e=0;if(t._parentItem&&Array.isArray(t._parentItem.items))for(var i=0,r=t._parentItem.items.length;i<r;i++)t._parentItem.items[i].linkId===t.linkId&&e++;return e}_updateLastRepeatingItemsStatus(t){if(t&&0!==t.length){for(var e=t.length,i="",r=0;r<e;r++){var o=t[r];""!==i&&(t[r-1]._lastRepeatingItem=!(i===o.linkId||!t[r-1]._questionRepeatable)),i=o.linkId,o.items&&o.items.length>0&&this._updateLastRepeatingItemsStatus(o.items)}t[e-1]._lastRepeatingItem=!!t[e-1]._questionRepeatable,t[e-1].items&&t[e-1].items.length>0&&this._updateLastRepeatingItemsStatus(t[e-1].items)}}_getLastSubItem(t){var e=t;if(t&&Array.isArray(t.items)&&t.items.length>0){var i,r=t.items.length,o=!1;do{(i=t.items[--r])._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED&&(o=!0)}while(!o);o&&(e=this._getLastSubItem(i))}return e}_resetHorizontalTableInfo(){this._horizontalTableInfo={};for(var t=null,e=null,i=0,r=this.itemList.length;i<r;i++){var o=this.itemList[i];if(o.dataType===Ge_DATA_TYPE_SECTION&&o.displayControl&&"horizontal"==o.displayControl.questionLayout){var a=[],s=[];o._inHorizontalTable=!0;var l=o.linkId+o._parentItem._idPath;if(e=o._elementId,null===t||t!==l){t=l,o._horizontalTableHeader=!0,o._horizontalTableId=t;for(var h=0,p=(a=o.items).length;h<p;h++){var C=a[h];s.push({item:C,id:"col"+C._elementId,displayControl:C.displayControl}),a[h]._inHorizontalTable=!0}this._horizontalTableInfo[t]={tableStartIndex:i,tableEndIndex:i+a.length,columnHeaders:s,tableRows:[{header:o,cells:a}],tableHeaders:[o]},this._horizontalTableInfo[t].lastHeaderId=e}else if(t===l){for(o._horizontalTableHeader=!1,h=0,p=(a=o.items).length;h<p;h++)a[h]._inHorizontalTable=!0;this._horizontalTableInfo[t].tableRows.push({header:o,cells:a}),this._horizontalTableInfo[t].tableHeaders.push(o),this._horizontalTableInfo[t].tableEndIndex=i+a.length,this._horizontalTableInfo[t].lastHeaderId=e}}}}_adjustLastSiblingListForHorizontalLayout(){var t=this._horizontalTableInfo;for(var e in t){var i=t[e].tableHeaders;i.length>1&&(i[0]._lastSibling=i[i.length-1]._lastSibling)}}addRepeatingItems(t){var e=this.getRepeatingItemMaxId(t),i=It.deepCopy(this._repeatableItems[t.linkId]);if(i._id=e+1,t._parentItem&&Array.isArray(t._parentItem.items)){for(var r=0,o=0,a=t._parentItem.items.length;o<a;o++)if(t._parentItem.items[o].linkId===t.linkId&&t._parentItem.items[o]._id===t._id){r=o;break}t._parentItem.items.splice(r+1,0,i),i._parentItem=t._parentItem,this._presetSkipLogicStatus(i,!1)}this._resetInternalData();var s="Added "+this.itemDescription(t);return this._actionLogs.push(s),LForms.FHIR&&this._hasResponsiveExpr&&this._expressionProcessor.runCalculations(!1).then(()=>{}),i}_findIndexForNewRepetition(t){for(var e=0,i=!1,r=0,o=t._parentItem.items.length;r<o;r++)if(t._parentItem.items[r].linkId===t.linkId&&(i=!0),i&&t._parentItem.items[r].linkId!==t.linkId){e=r;break}return i&&r===o&&(e=r),e}appendRepeatingItems(t){var e=this.getRepeatingItemMaxId(t),i=It.deepCopy(this._repeatableItems[t.linkId]);if(i._id=e+1,t._parentItem&&Array.isArray(t._parentItem.items)){var r=this._findIndexForNewRepetition(t);t._parentItem.items.splice(r,0,i),i._parentItem=t._parentItem,this._presetSkipLogicStatus(i,!1)}this._resetInternalData();var o="Added "+this.itemDescription(t);return this._actionLogs.push(o),i}areAnyRepeatingItemsEmpty(t){for(var e=!1,i=this._getRepeatingItems(t),r=0,o=i.length;r<o;r++)i[r]._showUnusedItemWarning=!1,this._isRepeatingItemEmpty(i[r])&&(e=!0);return e&&(t._showUnusedItemWarning=!0),e}_isRepeatingItemEmpty(t){var e=!0;if(t.dataType!==Ge_DATA_TYPE_SECTION){if(null==t.value||""===t.value)return e;if(t._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED)if(Array.isArray(t.value)&&t.value.length>0){for(var i=!1,r=0,o=t.value.length;r<o&&(t.value[r].text&&(i=null!=t.value[r].text&&""!==t.value[r].text),!i);r++);e=!i}else if("object"==typeof t.value){const l=t.value;e=!(null!=l.data||l.url||l.text||l instanceof Date)}else null!=t.value&&""!==t.value&&(e=!1)}if(e&&t.items)for(var a=0,s=t.items.length;a<s&&(e=this._isRepeatingItemEmpty(t.items[a]));a++);return e}_getRepeatingItems(t){var e=[];if(t._questionRepeatable&&t._parentItem&&Array.isArray(t._parentItem.items))for(var i=t._parentItem.items,r=0,o=i.length;r<o;r++)i[r].linkId===t.linkId&&e.push(i[r]);return e}getPrevRepeatingItem(t){var e=this._getRepeatingItems(t),r=e.map(function(o){return o._elementId}).indexOf(t._elementId);return r>0?e[r-1]:null}getNextRepeatingItem(t){var e=this._getRepeatingItems(t),r=e.map(function(o){return o._elementId}).indexOf(t._elementId);return r<e.length-1?e[r+1]:null}getFirstRepeatingItem(t){return this._getRepeatingItems(t)[0]}getLastRepeatingItem(t){var e=this._getRepeatingItems(t);return e[e.length-1]}removeRepeatingItems(t){if(t._parentItem&&Array.isArray(t._parentItem.items))for(var e=0,i=t._parentItem.items.length;e<i;e++)if(t._parentItem.items[e].linkId==t.linkId&&t._parentItem.items[e]._id==t._id){t._parentItem.items.splice(e,1);break}this._resetInternalData();var r="Removed "+this.itemDescription(t);this._actionLogs.push(r),LForms.FHIR&&this._hasResponsiveExpr&&this._expressionProcessor.runCalculations(!1).then(()=>{})}setRepeatingItems(t,e,i,r){var a,o=!1;let s=!1,l=!1;if(It.deepEqual(t._lastComputedMessages,i)||(t._lastComputedRepeatingMessages=i,s=!0),t._questionRepeatable){if(t._parentItem&&Array.isArray(t._parentItem.items)){a=this._getRepeatingItems(t);var C,N,p=e.length-a.length;if(o=0!==p,p<0&&(N=this._findIndexForNewRepetition(t)+p,t._parentItem.items.splice(N,-p),a.splice(p),0===e.length&&(p=1,C=0)),p>0){void 0===N&&(N=this._findIndexForNewRepetition(t),C=this.getRepeatingItemMaxId(t));for(var B=this._isHidden(t._parentItem),X=0;X<p;++X){var se=It.deepCopy(this._repeatableItems[t.linkId]);se._id=C+1,t._parentItem.items.splice(N,0,se),se._parentItem=t._parentItem,a.push(se),this._presetSkipLogicStatus(se,B)}}X=0;for(var be=e.length;X<be;++X)l=Oo.assignValueToItem(a[X],e[X])||l,s&&Oo.setItemMessages(a[X],i[X],r)}}else t._multipleAnswers?t.value=e:(l=Oo.assignValueToItem(t,e[0])||l,e.length>1?(Oo.addItemWarning(t,"MultipleValuesForNonRepeat"),console.log(JSON.stringify(e))):Oo.removeItemWarning(t,"MultipleValuesForNonRepeat")),s&&Oo.setItemMessagesArray(t,i,r);o&&this._resetInternalData();var ze="Set values for "+this.itemDescription(t);return this._actionLogs.push(ze),l&&this.updateOnSourceItemChange(t),o?a[a.length-1]:void 0}setRepeatingItemMessages(t,e,i){if(!It.deepEqual(t._lastComputedMessages,e))if(t._lastComputedRepeatingMessages=e,t._questionRepeatable){if(t._parentItem&&Array.isArray(t._parentItem.items)){const a=this._getRepeatingItems(t);for(var r=0,o=a.length;r<o;++r)Oo.setItemMessages(a[r],e[r],i)}}else Oo.setItemMessagesArray(t,e,i)}itemDescription(t){return t._inHorizontalTable?"row":t.dataType===Ge_DATA_TYPE_SECTION?"section":"question"}_getScores(t,e){for(var i=[],r=this._getFormulaSourceItems(t,e.value),o=0,a=r.length;o<a;o++){var s=0;(t=r[o])&&t.value&&t.value.score&&t._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED&&(s=t.value.score),i.push(s)}return i}_getFormulaSourceItems(t,e){for(var i=[],r=0,o=e.length;r<o;r++){var s=this._findItemByLinkId(t,e[r]);i.push(s)}return i}_getValuesInStandardUnit(t,e){for(var i=[],r=this._getFormulaSourceItems(t,e.value),o=0,a=r.length;o<a;o++){var s=null;(t=r[o]).value&&t._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED&&(s=t.unit&&t.unit.name?ZA.getValueInStandardUnit(parseFloat(t.value),t.unit.name):parseFloat(t.value)),i.push(s)}return i}getFormulaResult(t){var e="",i=[];if(t.calculationMethod){var r=t.calculationMethod;i=r.name===Ge_CALCULATION_METHOD_TOTALSCORE?this._getScores(t,r):this._getValuesInStandardUnit(t,r),e=XA.calculations_[r.name](i)}return e}_processItemFormula(t){var e=!1;if(t.calculationMethod&&t.calculationMethod.name){let i=this.getFormulaResult(t);It.deepEqual(i,t.value)||(t.value=i,e=!0)}return e}_processItemDataControl(t){var e=!1;return t.dataControl&&Array.isArray(t.dataControl)&&(e=this._updateDataByDataControl(t))&&(this._updateAutocompOptions(t),this._updateUnitAutocompOptions(t)),e}_constructObjectByDataFormat(t,e){var i={};if("object"==typeof t)for(var r=Object.keys(t),o=0,a=r.length;o<a;o++)i[r[o]]=this._getDataFromNestedAttributes(t[r[o]],e);return i}_constructArrayByDataFormat(t,e){var i=[],r=!1;if("object"==typeof t){for(var o=Object.keys(t),a={},s=o.length,l=-1,h=0;h<s;h++){var p=a[o[h]]=this._getDataFromNestedAttributes(t[o[h]],e);if(!Array.isArray(p)){r=!0;break}if(-1===l)l=p.length;else if(l!==p.length){r=!0;break}}if(!r)for(var C=0;C<l;C++){var N={};for(h=0;h<s;h++)N[o[h]]=a[o[h]][C];i.push(N)}}return i}_updateDataByDataControl(t){for(var e=!1,i=0,r=t.dataControl.length;i<r;i++){var o=t.dataControl[i].source,a=t.dataControl[i].onAttribute,s=t.dataControl[i].construction,l=t.dataControl[i].dataFormat;if(a||(a="value"),s||(s=Ge_DATA_CONTROL_CONSTRUCTION_SIMPLE),l||(l="value"),o){var h=o.sourceType;if(h||(h=Ge_DATA_CONTROL_SOURCE_INTERNAL),h===Ge_DATA_CONTROL_SOURCE_INTERNAL&&o.sourceLinkId){var p=this._findItemByLinkId(t,o.sourceLinkId);if(p&&p._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED){let C;s===Ge_DATA_CONTROL_CONSTRUCTION_ARRAY?C=this._constructArrayByDataFormat(l,p):s===Ge_DATA_CONTROL_CONSTRUCTION_OBJECT?C=this._constructObjectByDataFormat(l,p):s===Ge_DATA_CONTROL_CONSTRUCTION_SIMPLE&&(C=this._getDataFromNestedAttributes(l,p)),It.deepEqual(t[a],C)||(t[a]=It.deepCopy(C),e=!0)}}}}return e}_getDataFromNestedAttributes(t,e){for(var i=t.trim().split("."),r=e,o=i.length,a=0;a<o&&r;a++){var s=i[a];if(!s)break;var l=s.match(/^(.+)\[(\d+)\]$/);if(l){r=r[l[1]];var h=parseInt(l[2]);if(!Number.isInteger(h))break;r=r[h]}else r=r[s]}return a===o&&r?r:null}_setUpAnswerAndUnitAutoComp(t){for(var e=0,i=t.length;e<i;e++){var r=t[e];r._hasAnswerList&&this._updateAutocompOptions(r),this._updateUnitAutocompOptions(r)}}_setUnitDisplay(t){t._displayUnit=t.name?t.name:t.code?t.code:null}_updateUnitAutocompOptions(t){if(t.units&&!t._hasAnswerList){t.unit&&this._setUnitDisplay(t.unit),t._unitAutocompOptions=null;for(var r,e=[],i=t.units,o=0,a=i.length;o<a;o++){var s=It.deepCopy(i[o]);this._setUnitDisplay(s),i[o].default&&(r=s),s._displayUnit&&e.push(s)}if((t.dataType===Ge_DATA_TYPE_INT||t.dataType===Ge_DATA_TYPE_REAL)&&(t.units&&t.units.length>1?(console.log('Form definition warning: Data types of INT or REAL may only have one unit. Question "'+t.question+'" has '+t.units.length+" units. For multiple units, use type QTY instead."),t.dataType=Ge_DATA_TYPE_QTY):(t._unitReadonly=!0,t.unit||(t.unit=e[0]))),t.dataType===Ge_DATA_TYPE_QTY){var l={listItems:e,matchListValue:t.units&&(!t._unitOpen||"optionsOrString"!=t._unitOpen)||!t.units&&"optionsOnly"==t._unitOpen,autoFill:!0,display:"_displayUnit"};void 0!==r?l.defaultValue=r:1===e.length&&(l.defaultValue=e[0]),It.deepEqual(t._unitAutocompOptions,l)||(t._unitAutocompOptions=l)}}}_resetItemValueWithAnswers(t){var e=null,i=this.hasSavedData?t.value:t.value||t.defaultAnswer;if(i){e=[];var r=t._multipleAnswers&&Array.isArray(i)?i:[i];if(t.dataType!==Ge_DATA_TYPE_CWE)e=r;else for(var o=0,a=r.length;o<a;++o)"string"==typeof r[o]||"number"==typeof r[o]?(e.push({text:r[o],_notOnList:!0}),t._answerOther=r[o],t._answerOtherChecked=!0):e.push(r[o])}if(e){var s=[];if(t.dataType===Ge_DATA_TYPE_CNE||t.dataType===Ge_DATA_TYPE_CWE)for(var l=0,h=e.length;l<h;++l){var p=e[l],C=!1;if(t.externallyDefined)s=e;else if(Array.isArray(t.answers)){for(var N=0,B=t.answers.length;!C&&N<B;++N)It.areTwoAnswersSame(p,t.answers[N],t)&&(s.push(t.answers[N]),C=!0);!C&&t.dataType===Ge_DATA_TYPE_CWE&&(p._notOnList=!0,s.push(p))}else s.push(p)}else s=e;t.value=t._multipleAnswers?s:s[0]}}_fhirClientSearchByValueSetID(t,e,i){return LForms.fhirContext.client.request(this._buildURL(["ValueSet",t,"$expand"],{count:i,filter:e}))}_findValueSetIDAndSearch(t,e,i){var r="Could not retrieve the ValueSet definition for "+t.answerValueSet,o=LForms.fhirContext.client;LForms._valueSetUrlToID||(LForms._valueSetUrlToID={});var a=LForms._valueSetUrlToID[t.answerValueSet];if(a)return this._fhirClientSearchByValueSetID(a,e,i);{const s=this;return o.request(this._buildURL(["ValueSet"],{url:t.answerValueSet,_total:"accurate"})).then(function(l){if(1===l.total){var p=l.entry[0].resource.id;return LForms._valueSetUrlToID[t.answerValueSet]=p,s._fhirClientSearchByValueSetID(p,e,i)}return console.log(r),Promise.reject(r)},function(l){return console.log(r),Promise.reject(r)})}}_updateAutocompOptions(t){var e;if(t._hasAnswerList){var i=t.answerCardinality?t.answerCardinality.max:1;"*"!==i&&"string"==typeof i&&(i=parseInt(i));var r={matchListValue:t.dataType!==Ge_DATA_TYPE_CWE,maxSelect:i,autoFill:!1},o=t.externallyDefined;if(o){if(r.url=o,r.autocomp=!0,r.nonMatchSuggestions=!1,r.tableFormat=!0,r.valueCols=[0],r.colHeaders=t.displayControl.listColHeaders,r.colHeaders)for(var a=r.colHeaders,s=0,l=a.length;s<l;++s)a[s]=a[s].replace(/</g,"<")}else if(t.isSearchAutocomplete&&t.answerValueSet){var p=this._getFHIRSupport().SDC._getExpansionURL(t);if(p)r.url=p,r.fhir=!0;else{if(null===(e=LForms.fhirContext)||void 0===e||!e.client)throw new Error('Cannot properly initialize the list for field "'+t.question+'" because it requires either a terminology server to be specified or LForms.Util.setFHIRContext(...) to have been called to provide access to a FHIR server.');{const be=this;r.fhir={search:function(ze,Ue){return LForms.fhirCapabilities.urlExpandBroken?be._findValueSetIDAndSearch(t,ze,Ue):LForms.fhirContext.client.request(be._buildURL(["ValueSet","$expand"],{count:Ue,filter:ze,url:t.answerValueSet})).catch(Je=>(LForms.fhirCapabilities.urlExpandBroken=!0,be._findValueSetIDAndSearch(t,ze,Ue)))}}}}}else{[r.listItems,r.addSeqNum]=this._getAnswerDisplayTextWithLabelAndScore(this.templateOptions.displayScoreWithAnswerText,t),r.display="_displayText",r.listItemsForModel=t.answers;var C=r.listItems,N=!0;for(s=0,l=C.length;s<l&&N;++s)N=!!C[s].parentAnswerCode;if(!N){var B=[],X={};for(s=0,l=C.length;s<l;++s){var se=C[s];B.push(se.code),se.parentAnswerCode&&(X[se.code]=se.parentAnswerCode)}r.codes=B,r.itemToHeading=X}}It.deepEqual(r,t._autocompOptions)||(t._autocompOptions=r)}}_getAnswerDisplayTextWithLabelAndScore(t,e){var i=[],r=!1,o=!1;let a=e.answers;if(a&&Array.isArray(a))for(var s=0,l=a.length;s<l;s++){var h=It.deepCopy(a[s]),p=h.text+"";h.label?(p=h.label+". "+p,r=!0):!o&&!isNaN(h.text)&&(o=!0),null!=h.score&&(e._hasScoreInAnswer=!0,t&&(p=p+" - "+h.score)),h._displayText=p,i.push(h)}return[i,!r&&!o]}_inRange(t,e){var i=!1;if(t&&!isNaN(e)){var r=Object.keys(t);if(1==r.length)switch(r[0]){case"minInclusive":i=t.minInclusive<=e;break;case"minExclusive":i=t.minExclusive<e;break;case"maxInclusive":i=t.maxInclusive>=e;break;case"maxExclusive":i=t.maxExclusive>e}else 2==r.length&&(t.hasOwnProperty("minInclusive")?i=t.minInclusive<=e:t.hasOwnProperty("minExclusive")&&(i=t.minExclusive<e),i&&(t.hasOwnProperty("maxInclusive")?i=t.maxInclusive>=e:t.hasOwnProperty("maxExclusive")&&(i=t.maxExclusive>e)))}return i}_objectEqual(t,e){return It.shallowEqual(t,e)}_findItemByLinkId(t,e){for(var i=null,r=t._parentItem,o=!1;!o&&r;)r.linkId===e&&(i=r,o=!0),r=r._parentItem;var a=null;if(!i){for(var s=0,l=this.itemList.length;s<l;s++)if(t._elementId===this.itemList[s]._elementId){a=s;break}if(null!==a){for(var h=a-1;h>=0;h--)if(this.itemList[h].linkId===e){i=this.itemList[h];break}if(!i)for(var p=a+1,C=this.itemList.length;p<C;p++)if(this.itemList[p].linkId===e){i=this.itemList[p];break}}}return i}_getSkipLogicSourceItem(t,e){return this._findItemByLinkId(t,e)}_codingsEqual(t,e){let i=!1,r=o=>null!=o&&""!==o;return(t.system===e.system||!t.system&&!e.system)&&(i=r(t.code)||r(e.code)?t.code===e.code:t.text&&e.text&&t.text===e.text),!!i}_checkSkipLogicCondition(t,e){var i=!1,r=t&&null!=t.value&&""!==t.value&&t._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED;if(e.hasOwnProperty("exists"))i=e.exists&&r||!e.exists&&!r;else if(r){var o=t.value;if(t._hasAnswerList)switch(t.dataType){case Ge_DATA_TYPE_CNE:case Ge_DATA_TYPE_CWE:case Ge_DATA_TYPE_INT:case Ge_DATA_TYPE_ST:case Ge_DATA_TYPE_DT:case Ge_DATA_TYPE_TM:for(var a=e.hasOwnProperty("value")?e.value:e.hasOwnProperty("notEqual")?e.notEqual:null,s=Array.isArray(o)?o:[o],l=!1,h=0,p=s.length;h<p;h++){let N=s[h];if(t.dataType===Ge_DATA_TYPE_CNE||t.dataType===Ge_DATA_TYPE_CWE){if(t.answerCodeSystem&&(N=Object.assign({system:t.answerCodeSystem},N)),this._codingsEqual(a,N)){l=!0;break}}else if(a===N.text){l=!0;break}}e.hasOwnProperty("value")?l&&(i=!0):e.hasOwnProperty("notEqual")&&(l||(i=!0))}else switch(t.dataType){case Ge_DATA_TYPE_INT:case Ge_DATA_TYPE_REAL:case Ge_DATA_TYPE_QTY:var C=parseFloat(o);e.hasOwnProperty("value")?e.value===C&&(i=!0):e.hasOwnProperty("notEqual")?e.notEqual!=C&&(i=!0):this._inRange(e,C)&&(i=!0);break;case Ge_DATA_TYPE_ST:case Ge_DATA_TYPE_TX:case Ge_DATA_TYPE_BL:e.hasOwnProperty("value")?e.value===o&&(i=!0):e.hasOwnProperty("notEqual")&&e.notEqual!=o&&(i=!0)}}else e.hasOwnProperty("notEqual")&&null!=e.notEqual&&""!==e.notEqual&&(i=!0);return i}_checkSkipLogic(t){var e=!1;if(t.skipLogic){var i="ALL"===t.skipLogic.logic,r=!t.skipLogic.logic||"ANY"===t.skipLogic.logic;e=i;for(var o=0,a=t.skipLogic.conditions.length;o<a;o++){var s=t.skipLogic.conditions[o],l=this._getSkipLogicSourceItem(t,s.source),h=this._checkSkipLogicCondition(l,s.trigger);if(i&&!h){e=!1;break}if(r&&h){e=!0;break}}}return e}getSkipLogicClass(t){return t._skipLogicStatus}needExtra(t){var e=!1;return t&&t.value&&!Array.isArray(t.value)&&t.value.other&&(e=!0),e}setActiveRow(t){this._activeItem=t}getActiveRowClass(t){var e="";return this._activeItem&&this._activeItem._elementId===t._elementId&&(e="lhc-active-row"),e}}const JA={LOINC_URI:"http://loinc.org",LOINC_CS:"LN",obrFieldNum:43,obxFieldNum:17,DataType:{ST:"String",TX:"Text data",FT:"Formatted text",CQ:"Composite quantity with units",MO:"Money",NM:"Numeric",SI:"Sequence ID",SN:"Structured numeric",ID:"Coded values for HL7 tables",IS:"Coded values for user-defined tables",HD:"Hierarchic designator",EI:"Entity identifier",RP:"Reference pointer",PL:"Person location",PT:"Processing type",DT:"Date",DTM:"Date/Time",TM:"Time",TS:"Time stamp",CE:"Coded element",CF:"Coded element with formatted values",CK:"Composite ID with check digit",CN:"Composite ID number and name",CX:"Extended composite ID with check digit",XCN:"Extended composite ID number and name",CM:"Composite",AD:"Address",PN:"Person name",TN:"Telephone number",XAD:"Extended address",XPN:"Extended person name",XON:"Extended composite name and ID number for organizations",XTN:"Extended telecommunications number",CD:"Channel definition",MA:"Multiplexed array",NA:"Numeric array",ED:"Encapsulated data",CP:"Composite price",FC:"Financial class",QSC:"Query selection criteria",QIP:"Query input parameter list",RCD:"Row column definition",DLN:"Driver\u2019s license number",JCC:"Job code/class",VH:"Visiting hours",PPN:"Performing person time stamp",DR:"Date/time range",RI:"Repeat interval",SCV:"Scheduling class value pair",TQ:"Timing/quantity"},delimiters:{segment:"\r",field:"|",component:"^",subcomponent:"&",repetition:"~",escape:"\\"},OBX:[{seq:1,len:4,dt:"SI",opt:"O",name:"Set ID"},{seq:2,len:2,dt:"ID",opt:"R",name:"Value Type"},{seq:3,len:590,dt:"CE",opt:"R",name:"Observation Identifier"},{seq:4,len:20,dt:"ST",opt:"O",name:"Observation Sub-ID"},{seq:5,len:65536,dt:"ST",opt:"O",name:"Observation Value"},{seq:6,len:60,dt:"CE",opt:"O",name:"Units"},{seq:7,len:10,dt:"ST",opt:"O",name:"Reference Range"},{seq:8,len:5,dt:"ID",opt:"O",name:"Abnormal Flags"},{seq:9,len:5,dt:"NM",opt:"O",name:"Probability"},{seq:10,len:2,dt:"ID",opt:"O",name:"Nature of Abnormal Test"},{seq:11,len:1,dt:"ID",opt:"R",name:"Observation Result Status"},{seq:12,len:26,dt:"TS",opt:"O",name:"Date Last Obs Normal Values"},{seq:13,len:20,dt:"ST",opt:"O",name:"User Defined Access Checks"},{seq:14,len:26,dt:"TS",opt:"O",name:"Date/Time of the Observation"},{seq:15,len:60,dt:"CE",opt:"O",name:"Producer's ID"},{seq:16,len:80,dt:"XCN",opt:"O",name:"Responsible Observer"},{seq:17,len:80,dt:"CE",opt:"O",name:"Observation Method"}],OBR:[{seq:1,len:4,dt:"SI",opt:"C",name:"Set ID - OBR"},{seq:2,len:75,dt:"EI",opt:"C",name:"Placer Order Number"},{seq:3,len:75,dt:"EI",opt:"C",name:"Filler Order Number"},{seq:4,len:200,dt:"CE",opt:"R",name:"Universal Service ID"},{seq:5,len:2,dt:"ID",opt:"B",name:"Priority"},{seq:6,len:26,dt:"TS",opt:"B",name:"Requested Date/time"},{seq:7,len:26,dt:"TS",opt:"C",name:"Observation Date/Time"},{seq:8,len:26,dt:"TS",opt:"O",name:"Observation End Date/Time"},{seq:9,len:20,dt:"CQ",opt:"O",name:"Collection Volume"},{seq:10,len:60,dt:"XCN",opt:"O",name:"Collector Identifier"},{seq:11,len:1,dt:"ID",opt:"O",name:"Specimen Action Code"},{seq:12,len:60,dt:"CE",opt:"O",name:"Danger Code"},{seq:13,len:300,dt:"ST",opt:"O",name:"Relevant Clinical Info."},{seq:14,len:26,dt:"TS",opt:"C",name:"Specimen Received Date/Time"},{seq:15,len:300,dt:"CM",opt:"O",name:"Specimen Source"},{seq:16,len:80,dt:"XCN",opt:"O",name:"Ordering Provider"},{seq:17,len:40,dt:"XTN",opt:"O",name:"Order Callback Phone Number"},{seq:18,len:60,dt:"ST",opt:"O",name:"Placer field 1"},{seq:19,len:60,dt:"ST",opt:"O",name:"Placer field 2"},{seq:20,len:60,dt:"ST",opt:"O",name:"Filler Field 1"},{seq:21,len:60,dt:"ST",opt:"O",name:"Filler Field 2"},{seq:22,len:26,dt:"TS",opt:"C",name:"Results Rpt/Status Chng - Date/Time"},{seq:23,len:40,dt:"CM",opt:"O",name:"Charge to Practice"},{seq:24,len:10,dt:"ID",opt:"O",name:"Diagnostic Serv Sect ID"},{seq:25,len:1,dt:"ID",opt:"C",name:"Result Status"},{seq:26,len:400,dt:"CM",opt:"O",name:"Parent Result"},{seq:27,len:200,dt:"TQ",opt:"O",name:"Quantity/Timing"},{seq:28,len:150,dt:"XCN",opt:"O",name:"Result Copies To"},{seq:29,len:150,dt:"CM",opt:"O",name:"Parent"},{seq:30,len:20,dt:"ID",opt:"O",name:"Transportation Mode"},{seq:31,len:300,dt:"CE",opt:"O",name:"Reason for Study"},{seq:32,len:200,dt:"CM",opt:"O",name:"Principal Result Interpreter"},{seq:33,len:200,dt:"CM",opt:"O",name:"Assistant Result Interpreter"},{seq:34,len:200,dt:"CM",opt:"O",name:"Technician"},{seq:35,len:200,dt:"CM",opt:"O",name:"Transcriptionist"},{seq:36,len:26,dt:"TS",opt:"O",name:"Scheduled Date/Time"},{seq:37,len:4,dt:"NM",opt:"O",name:"Number of Sample Containers"},{seq:38,len:60,dt:"CE",opt:"O",name:"Transport Logistics of Collected Sample"},{seq:39,len:200,dt:"CE",opt:"O",name:"Collector\u2019s Comment"},{seq:40,len:60,dt:"CE",opt:"O",name:"Transport Arrangement Responsibility"},{seq:41,len:30,dt:"ID",opt:"O",name:"Transport Arranged"},{seq:42,len:1,dt:"ID",opt:"O",name:"Escort Required"},{seq:43,len:200,dt:"CE",opt:"O",name:"Planned Patient Transport Comment"}],getHL7V2DataType:function(n){var t;switch(n){case"INT":case"REAL":case"QTY":t="NM";break;case"NR":case"TX":case"DT":case"DTM":case"TM":case"CNE":case"CWE":t=n;break;default:t="ST"}return t},toHL7Segments:function(n){var t="",e={obrIndex:1,obxIndex:1},i=n.getFormData(!1,!0);this._generateOBX4(i);var r=new Array(this.obrFieldNum);r[0]="OBR",r[1]="1",r[4]=i.code+this.delimiters.component+i.name+this.delimiters.component+this.LOINC_CS;for(var a=this.obrFieldNum-1;a>=0;a--)void 0===r[a]||(void 0!==r[a]?t=r[a]+this.delimiters.field+t:t+=this.delimiters.field);if(t+=this.delimiters.segment,i.items)for(var l=0,h=i.items.length;l<h;l++)"TITLE"!==i.items[l].dataType&&(t+=this._itemToHL7v2(i.items[l],e));return t},_generateOBX4:function(n){n&&n.items&&this._precessOBX4AtOneLevel("",n.items)},_precessOBX4AtOneLevel:function(n,t){for(var e=0,i=1,r=null,o=0,a=t.length;o<a;o++){var l,s=t[o];if("SECTION"===s.dataType)if((l=s.questionCardinality.max)&&("*"===l||parseInt(l)>1)){if(this._isSectionEmpty(s))continue;!r||r&&r.questionCode!==s.questionCode?(i=1,e+=1):i+=1;var h=It.getNextLetter(i);s._obx4=n?n+"."+e+h:e+h,this._precessOBX4AtOneLevel(s._obx4,s.items)}else i=1,e+=1,s._obx4=n?n+"."+e:e,this._precessOBX4AtOneLevel(s._obx4,s.items);else if((l=s.questionCardinality.max)&&("*"===l||parseInt(l)>1)){if(Io.isItemValueEmpty(s.value))continue;!r||r&&r.questionCode!==s.questionCode?i=1:i+=1,h=It.getNextLetter(i),s._obx4=n?n+"."+h:h}else s._obx4=n||"",i=1;r=s}},_generateOBX5:function(n,t,e){var r=n.code;return"CWE"!==t||r||0===r?r+this.delimiters.component+n.text+this.delimiters.component+(n.system?"LOINC"===n.system||n.system===this.LOINC_URI?this.LOINC_CS:n.system:""):this.delimiters.component.repeat(8)+n.text},_DT_FMT:"YYYYMMDD",_DTM_FMT:"YYYYMMDDHHmmss",_itemToHL7v2:function(n,t){var e="",i=this.LOINC_CS;if("TITLE"!==n.dataType){var r=new Array(this.obrFieldNum);if(n.header){var o="";r[0]="OBR",r[1]=++t.obrIndex,r[4]=n.questionCode+this.delimiters.component+n.question+this.delimiters.component+i;for(var s=this.obrFieldNum-1;s>=0;s--)void 0===r[s]||(void 0!==r[s]?o=r[s]+this.delimiters.field+o:o+=this.delimiters.field);if(o+=this.delimiters.segment,n.items)for(var h=0,p=n.items.length;h<p;h++)e+=this._itemToHL7v2(n.items[h],t)}else if(!Io.isItemValueEmpty(n.value)){var C=Array.isArray(n.value),N=C?n.value:[n.value],B=[];if(B[0]="OBX",B[1]=t.obxIndex++,B[2]=this.getHL7V2DataType(n.dataType),B[3]=n.questionCode+this.delimiters.component+n.question+this.delimiters.component+i,n.unit){var X="";void 0!==n.unit.name&&(X=n.unit.name),B[6]=X+this.delimiters.component+X+this.delimiters.component+this.LOINC_CS}s=0;for(var se=N.length;s<se;++s){var be=N[s];if(B[4]=n._obx4,C&&(""!==n._obx4&&(B[4]+="."),B[4]+=It.getNextLetter(s+1)),"CNE"===n.dataType||"CWE"===n.dataType)B[5]=this._generateOBX5(be,n.dataType);else if("DT"===n.dataType||"DTM"===n.dataType){var ze="string"==typeof be?It.stringToDate(be):be;B[5]=It.formatDate(ze,"DT"===n.dataType?this._DT_FMT:this._DTM_FMT)}else B[5]=be.toString();e+=B.join(this.delimiters.field)+this.delimiters.field+this.delimiters.segment}}}return e},_isSectionEmpty:function(n){var t=!0;if(n.items)for(var e=0,i=n.items.length;e<i&&t;e++){var r=n.items[e];t="SECTION"===r.dataType?!0===r._emptySection||!1===r._emptySection?r._emptySection:this._isSectionEmpty(r):Io.isItemValueEmpty(r.value)}return n._emptySection=t,t}};var eL=Y(5139),L_=Y.n(eL);window.LForms={externalJQuery:window.jQuery,jQuery:L_()},window.jQuery=L_();var tL=Y(5076),X4=Y.n(tL),nL=Y(82);const la=window.LForms;function J4(n,t){return new ge(e=>{const i=n.length;if(0===i)return void e.complete();const r=new Array(i);let o=0,a=0;for(let s=0;s<i;s++){const l=xi(n[s]);let h=!1;e.add(l.subscribe({next:p=>{h||(h=!0,a++),r[s]=p},error:p=>e.error(p),complete:()=>{o++,(o===i||!h)&&(a===i&&e.next(t?t.reduce((p,C,N)=>(p[C]=r[N],p),{}):r),e.complete())}}))}})}
|
|
1523
|
+
var jA=Y(137),$A=Y(6908),Q4=Y.n($A),WA=Y(1318),g6=Y.n(WA),GA=Y(5541),v6=Y.n(GA);const It={parseDateFormats:["M/D/YYYY","M/D/YY","M/D","M-D-YYYY","M-D-YY","M-D","YYYY","YYYY-M-D","YYYY/M/D",Q4().ISO_8601,"M/D/YYYY HH:mm","M/D/YY HH:mm","M/D HH:mm","M-D-YYYY HH:mm","M-D-YY HH:mm","M-D HH:mm"],intRegex:/^\s*(\+|-)?\d+\s*$/,decRegex:/^\s*[\+-]?([\+-]?\d+\.?\d*([eE]?[\+|-]?\d+)?|[\+-]?\d*\.?\d+[eE]?([\+|-]?\d+)?)\s*$/,areTwoAnswersSame:function(n,t,e){let i=["label","code","text","score","other"];if("object"!=typeof n)return!1;let o=!1;if(!n.system&&!t.system||n.system===(t.system?t.system:e.answerCodeSystem)){o=!0;let l=Object.keys(n);for(var a=0,s=l.length;a<s;a++)if(i.indexOf(l[a])>=0&&n[l[a]]!==t[l[a]]){o=!1;break}}return o},dateToDTStringISO:function(n){return n&&n instanceof Date&&!isNaN(n.getTime())?[(1e4+n.getFullYear()).toString().substr(1),(101+n.getMonth()).toString().substr(1),(100+n.getDate()).toString().substr(1)].join("-"):void 0},stringToDTDateISO:function(n){var t=new Date(n);return isNaN(t.getTime())?void 0:new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())},dateToDTMString:function(n){return"string"==typeof n&&(n=this.stringToDate(n,!0)),n.toISOString()},stringToDate:function(n,t){if(!n||"string"!=typeof n)return n;if("t"===n.trim())return new Date;let e=Q4()(n,this.parseDateFormats,!0);return t&&!e.isValid()&&(e=Q4()(n)),e.isValid()?e.toDate():null},isValidDate:function(n){return!!this.stringToDate(n)},formatDate:function(n,t){return Q4()(n).format(t)},getNextLetter:function(n){for(var e=[],i=n;i>0;){var r=i%26;e.push(r=0===r?25:r-1),i=Math.floor((i-1)/26)}for(var o="",a=e.length-1;a>=0;a--)o+="abcdefghijklmnopqrstuvqxyz".charAt(e[a]);return o},findObjectInArray:function(n,t,e,i,r){var o=r?[]:null;if(Array.isArray(n)){var a=0;i&&Math.abs(i)<n.length&&(a=i<0?n.length+i:i);for(var s=n.length,l=a;l<s;l++)if(n[l][t]===e){var h=n[l];if(!r){o=h;break}o.push(h)}}return o},_pruneObject:function(n,t,e){if("object"==typeof t)for(var i in t)if(i.match(n))delete t[i];else if(e&&i===e){var r=t[i];if(Array.isArray(r))for(var o=r.length,a=0;a<o;a++)this._pruneObject(n,r[a],e);else this._pruneObject(n,r,e)}},pruneNulls:function(n){if(Array.isArray(n))for(var t=n.length-1;t>=0;t--)null==n[t]?n.splice(t,1):"object"==typeof n[t]&&this.pruneNulls(n[t]);else n&&"object"==typeof n&&Object.keys(n).forEach(function(i){null==n[i]?delete n[i]:"object"==typeof n[i]&&this.pruneNulls(n[i])},this)},deepCopy:function(n){return g6()(n)},deepEqual:function(n,t){return v6()(n,t)},shallowEqual:function(n,t){var e=!0;if(typeof n!=typeof t)e=!1;else if("object"!=typeof n)n!==t&&(e=!1);else{var i=Object.keys(n),r=Object.keys(t);if(i.length!==r.length)e=!1;else for(var o=0,a=i.length;o<a;o++)if(n[i[o]]!==t[i[o]]){e=!1;break}}return e},showWarning:function(n,t){t&&(n='The question "'+t.text+'" produced the following warning: '+n),console.log(n)},isInteger(n){return!!Number.isInteger(n)||"number"!=typeof n&&this.intRegex.test(n)},isDecimal(n){return"number"==typeof n||this.decRegex.test(n)}},E_={messages:{comparatorInQuantity:{en:"This item cannot accept a quantity with a comparator"},nonMatchingQuantityUnit:{en:"An attempt was made to assign a quantity with a non-matching unit."},MultipleValuesForNonRepeat:{en:"An attempt was made to assign multiple values to a non-repeating item."}},getMsg:function(n){const t=this.messages[n];if(!t)throw new Error('Unknown message ID "'+n+'"');const e=t[this.language];if(!e)throw new Error('Unknown language code "'+this.language+'" for message ID "'+n+'"');return e},addMsg:function(n,t){n[t]=this.getMsg(t)},setLanguage:function(n){this.language=n}},Oo={assignValueToItem:function(n,t,e){var i=!1;if(e=e||t&&t._type,t&&"Quantity"===e){n.value!==t.value&&(n.value=t.value,i=!0);var r={name:t.name};t.code&&(r.code=t.code,t.system&&(r.system=t.system)),It.deepEqual(n.unit,r)||(n.unit=r,i=!0)}else It.deepEqual(n.value,t)||(n.value=t,i=!0);return i},modelForOffListUnit:function(n){return n?{name:n,_displayUnit:n}:void 0},setItemMessagesArray:function(n,t,e){let i,r;for(let o of t)if(o){i||(i={errors:{},warnings:{},info:{}},r=Object.keys(i));for(let a of r)o[a]&&Object.assign(i[a],o[a])}this.setItemMessages(n,i,e)},setItemMessages:function(n,t,e){t?(n.messages||(n.messages={}),n.messages[e]=t):n.messages&&(delete n.messages[e],Object.keys(n.messages).length||delete n.messages)},addItemWarning:function(n,t,e){e||(e="Other message source");let i=n.messages;i||(i=n.messages={});let r=i[e];r||(r=i[e]={});let o=r.warnings;o||(o=r.warnings={}),o[t]=E_.getMsg(t),console.log(JSON.stringify(n.messages))},removeItemWarning:function(n,t,e){let i,r,o;e||(e="Other message source"),(i=n.messages)&&(r=i[e])&&(o=r.warnings)&&delete o[t]},hasAnswerList:function(n){return"CNE"===n.dataType||"CWE"===n.dataType||n.answers&&("ST"===n.dataType||"INT"===n.dataType||"DT"===n.dataType||"TM"===n.dataType)}};Oo.errorMessages=E_,Oo.errorMessages.setLanguage("en");const KA=new RegExp("http://hl7.org/fhir/(\\d+.\\d+)([.\\d]+)?/StructureDefinition/Questionnaire"),QA=new RegExp("http://hl7.org/fhir/u./sdc/StructureDefinition/sdc-questionnaire\\|(\\d+.\\d+)(.\\d+)?"),z_={STU3:1,R4:2,R5:3},O_={addFormToPage:function(n,i,e){i="string"==typeof i?document.getElementById(i):i,"string"==typeof n&&(n=n.indexOf("{")>=0?JSON.parse(n):window[n]);var r=n.resourceType,o=e&&e.fhirVersion;if(r&&"Questionnaire"!==r)throw new Error("Only Questionnaire FHIR content is supported in addFormToPage.");this.pageFormID_||(this.pageFormID_=0),LForms.addedFormDefs||(LForms.addedFormDefs=[]),LForms.addedFormDefs.push(n);for(var a=e&&!0===e.prepopulate;i.firstChild;)i.removeChild(i.lastChild);const s=document.createElement("wc-lhc-form");return i.appendChild(s),new Promise(function(h,p){try{s.questionnaire=n,s.options=e,s.prepop=a,s.fhirVersion=o,s.addEventListener("onFormReady",function(C){h()}),s.addEventListener("onError",function(C){p(C.detail)})}catch(C){p(C)}})},removeFormsFromPage:function(t){for(t="string"==typeof t?document.getElementById(t):t;t.firstChild;)t.removeChild(t.lastChild)},getUserData:function(n,t,e,i){var r=this._getFormObjectInScope(n);return r?r.getUserData(t,e,i):null},getFormData:function(n,t,e){var i=this._getFormObjectInScope(n);return i?i.getFormData(t,e):null},getFormHL7Data:function(n){var t=this._getFormObjectInScope(n);return t?LForms.HL7.toHL7Segments(t):null},getFormFHIRData:function(n,t,e,i){return(!e||e instanceof HTMLElement||"string"==typeof e)&&(e=this._getFormObjectInScope(e)),this._convertLFormsToFHIRData(n,t,e,i)},checkValidity:function(n){var t=this._getFormObjectInScope(n);return t?t.checkValidity():null},_convertLFormsToFHIRData:function(n,t,e,i){i||(i={}),e instanceof LForms.LFormsData||(e=new LForms.LFormsData(e));var r=this.validateFHIRVersion(t),o=LForms.FHIR[r],a=null;if(e)switch(n){case"DiagnosticReport":var s=i?i.bundleType:void 0;a=o.DiagnosticReport.createDiagnosticReport(e,i.subject,null!=s,s);break;case"Questionnaire":a=o.SDC.convertLFormsToQuestionnaire(e,i.noExtensions);break;case"QuestionnaireResponse":a=i.extract?o.SDC.convertLFormsToQRAndExtracFHIRData(e,i.noExtensions,i.subject):o.SDC.convertLFormsToQuestionnaireResponse(e,i.noExtensions,i.subject)}return a},convertFHIRQuestionnaireToLForms:function(n,t){var e=null;return n&&(t=this._requireValidFHIRVersion(t,n),e=LForms.FHIR[t].SDC.convertQuestionnaireToLForms(n)),e},mergeFHIRDataIntoLForms:function(n,t,e){if("string"==typeof n&&(n=t,t=e,e=arguments[3]),n){e=this._requireValidFHIRVersion(e,n);var i=LForms.FHIR[e];switch(n.resourceType){case"DiagnosticReport":(t=i.DiagnosticReport.mergeDiagnosticReportToLForms(t,n)).hasSavedData=!0;break;case"Bundle":"searchset"===n.type&&n.entry.find(r=>"DiagnosticReport"===r.resource.resourceType)&&((t=i.DiagnosticReport.mergeDiagnosticReportToLForms(t,n)).hasSavedData=!0);break;case"QuestionnaireResponse":(t=i.SDC.mergeQuestionnaireResponseToLForms(t,n)).hasSavedData=!0}}return t},_requireValidFHIRVersion:function(n,t){if(n||(n=this.detectFHIRVersion(t)||this.guessFHIRVersion(t)),!n)throw new Error("Could not determine the FHIR version for this resource. Please make sure it is specified via meta.profile (see http://build.fhir.org/versioning.html#mp-version and https://www.hl7.org/fhir/references.html#canonical). Example 1: http://hl7.org/fhir/4.0/StructureDefinition/Questionnaire (for Questionnaire version 4.0, a.k.a. R4).Example 2: http://hl7.org/fhir/3.0/StructureDefinition/Questionnaire (for Questionnaire version 3.0, a.k.a. STU3).Example 3: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire|2.7 (for SDC Questionnaire version 2.7).");return this.validateFHIRVersion(n)},setFHIRContext:function(n,t){if(!LForms.FHIR)throw new Error("LHC-Forms FHIR support files have not been loaded.See http://lhncbc.github.io/lforms/#fhirScripts");LForms.fhirContext={client:n,vars:t},LForms.fhirCapabilities={},delete LForms._serverFHIRReleaseID},_fhirVersionToRelease:function(n){let t=n,e=n.match(/^\d+(\.\d+)/);if(e){const i=parseFloat(e[0]);t=i>3&&i<=4?"R4":i>=1.1&&i<=3?"STU3":n}return t},getServerFHIRReleaseID:function(n){if(!LForms.fhirContext)throw new Error("setFHIRContext needs to be called before getFHIRReleaseID");if(!LForms.fhirContext.client)throw new Error("setFHIRContext was called, but no server connection was provided");if(LForms._serverFHIRReleaseID)setTimeout(function(){n(LForms._serverFHIRReleaseID)});else try{LForms.fhirContext.client.getFhirVersion().then(function(e){LForms._serverFHIRReleaseID=LForms.Util._fhirVersionToRelease(e),console.log("Server FHIR version is "+LForms._serverFHIRReleaseID+" ("+e+")"),n(LForms._serverFHIRReleaseID)},function(e){console.log("Error retrieving server's CompatibilityStatement:"),console.log(e),n()})}catch(e){throw setTimeout(function(){n()}),e}},validateFHIRVersion:function(n){if(!LForms.Util.FHIRSupport[n])throw new Error("Version "+n+" of FHIR is not supported.");if(!LForms.FHIR)throw new Error("The FHIR support files for LHC-Forms do not appear to have been loaded. Please consult the documentation at http://lhncbc.github.io/lforms/#fhirSupport.");if(!LForms.FHIR[n])throw new Error("Version "+n+" of FHIR is supported, but the supporting code was not loaded.");return n},detectFHIRVersion:function(n){let t=null;return n.meta&&n.meta.profile&&(t=this.detectFHIRVersionFromProfiles(n.meta.profile)),t},detectFHIRVersionFromProfiles(n){if(!n||!n.length)return null;let t=null;for(let i=0;i<n.length;i++){var e=n[i].match(KA);let r;if(e?r=e[1]:(e=n[i].match(QA))&&(r=e[1],"2.0"===r?r="3.0":parseFloat(r)>=2.1&&(r="4.0")),r){const o=this._fhirVersionToRelease(r);(!t||z_[o]>z_[t])&&(t=o)}}return t},guessFHIRVersion:function(n){var t=null;return"Questionnaire"==n.resourceType?t=this._testValues(n,"item",function(r){var a;let o=!!(r.option||r.options||r.initialBoolean||r.initialDecimal||r.initialInteger||r.initialDate||r.initialDateTime||r.initialTime||r.initialString||r.initialUri||r.initialAttachment||r.initialQuantity||r.initialReference);return!o&&(null==(a=r.enableWhen)?void 0:a.length)&&(o=r.enableWhen.some(s=>"hasAnswer"in s)),o})?"STU3":"R4":"QuestionnaireResponse"==n.resourceType&&(t=n.parent||this._testValues(n,"item",function(o){return!!o.subject})?"STU3":"R4"),t},_testValues:function(n,t,e){var i=!1;if(n instanceof Array)for(var r=0,o=n.length;!i&&r<o;++r)i=this._testValues(n[r],t,e);else if("object"==typeof n)for(var a=Object.keys(n),s=0,l=a.length;!i&&s<l;++s){var h=a[s],p=n[h];if(h===t)if(p instanceof Array)for(var C=0,N=p.length;!i&&C<N;++C)i=e(p[C]);else i=e(p);i||(i=this._testValues(p,t,e))}return i},_getFormObjectInScope:function(n){var t,e;if("string"==typeof n&&(n=document.querySelector(n)),n)e=n.getElementsByTagName("wc-lhc-form");else{var i=document.getElementsByTagName("body");e=i&&i.length>0?(n=i[0]).getElementsByTagName("wc-lhc-form"):document.getElementsByTagName("wc-lhc-form")}for(let r of e){t=r.lhcFormData;break}return t},isItemValueEmpty:function(n){var t=!0;if(null!=n&&""!==n&&"function"!=typeof n)if("string"==typeof n||n instanceof String)t=""===n.trim();else if(Array.isArray(n)){for(var e=0;e<n.length;++e)if(!this.isItemValueEmpty(n[e])){t=!1;break}}else if("object"==typeof n){var i=Object.keys(n);if(i.length>0){e=0;for(var r=i.length;e<r;e++)if(!this.isItemValueEmpty(n[i[e]])){t=!1;break}}else n.constructor!==Object&&(t=!1)}else t=!1;return t},findItem:function(n,t,e){var i=null;if(n)for(var r=0;!i&&r<n.length;++r){var o=n[r];o[t]===e?i=o:Array.isArray(o.items)&&(i=this.findItem(o.items,t,e))}return i},initializeCodes:function(n){var t=n.question||n.questionCode,e=t?n.questionCode:n.code,r=t?n.question:n.name,o=this.getCodeSystem(t?n.questionCodeSystem:n.codeSystem);if(e){n.codeList||(n.codeList=[]);for(var a=n.codeList,s=!1,l=0;l<a.length;l++)if(e===a[l].code&&(!o&&!a[l].system||o===a[l].system)){s=!0;break}s||"LinkId"===o||(e={code:e,display:r},o&&(e.system=o),a.unshift(e))}else n.codeList&&n.codeList.length>0&&(t?(n.questionCode=n.codeList[0].code,n.questionCodeSystem=n.codeList[0].system):(n.code=n.codeList[0].code,n.codeSystem=n.codeList[0].system));return n},createLocalFHIRReference:function(n){var t={reference:n.resourceType+"/"+n.id};if("Patient"===n.resourceType&&n.name&&n.name.length>0){var e=n.name[0];e.text?t.display=e.text:(e.given&&e.given.length>0&&(t.display=e.given[0]),e.family&&(t.display=t.display?t.display+" "+e.family:e.family))}return t},getCodeSystem:function(n){return"LOINC"===n?"http://loinc.org":n},removeObjectsFromArray:function(n,t,e,i,r){var o=r?[]:null,a=r?[]:null;if(Array.isArray(n)){var s=0;i&&Math.abs(i)<n.length&&(s=i<0?n.length+i:i);for(var l=n.length,h=s;h<l;h++)if(n[h][t]===e){var p=n[h];if(!r){o=h,a=p;break}o.push(h),a.push(p)}if(Array.isArray(o))for(h=o.length-1;h>=0;h--)n.splice(o[h],1);else null!==o&&n.splice(o,1)}return a},baseFormDef:function(){return{lformsVersion:LForms.lformsVersion}},getAnswersResourceStatus:function(n){return(!n||n instanceof HTMLElement||"string"==typeof n)&&(n=this._getFormObjectInScope(n)),n.checkAnswersResourceStatus()},loadScript:function(n){return new Promise(function(t,e){var i=document.createElement("script");i.onreadystatechange=t,i.onload=t,i.onerror=e,i.src=n,document.body.appendChild(i)})},loadFHIRLibs:function(n,t){return Promise.all([this.loadScript(n),this.loadScript(t)])},_hasMultipleAnswers:function(n){return n.answerCardinality&&n.answerCardinality.max&&("*"===n.answerCardinality.max||parseInt(n.answerCardinality.max)>1)}};O_._internalUtil=Oo;const Io=Tm(Tm({},It),O_),Ge_DATA_CONTROL_CONSTRUCTION_ARRAY="ARRAY",Ge_DATA_CONTROL_CONSTRUCTION_OBJECT="OBJECT",Ge_DATA_CONTROL_CONSTRUCTION_SIMPLE="SIMPLE",Ge_DATA_CONTROL_SOURCE_INTERNAL="INTERNAL",Ge_SKIP_LOGIC_ACTION_ENABLE="show",Ge_SKIP_LOGIC_ACTION_DISABLE="hide",Ge_SKIP_LOGIC_STATUS_ENABLED="target-enabled",Ge_SKIP_LOGIC_STATUS_DISABLED="target-disabled",Ge_CALCULATION_METHOD_TOTALSCORE="TOTALSCORE",Ge_DATA_TYPE_INT="INT",Ge_DATA_TYPE_REAL="REAL",Ge_DATA_TYPE_ST="ST",Ge_DATA_TYPE_TX="TX",Ge_DATA_TYPE_DT="DT",Ge_DATA_TYPE_DTM="DTM",Ge_DATA_TYPE_TM="TM",Ge_DATA_TYPE_CNE="CNE",Ge_DATA_TYPE_CWE="CWE",Ge_DATA_TYPE_SECTION="SECTION",Ge_DATA_TYPE_TITLE="TITLE",Ge_DATA_TYPE_QTY="QTY",Ge_DATA_TYPE_BL="BL",Z4={_timeout:1500,_restrictionKeys:["minExclusive","minInclusive","maxExclusive","maxInclusive","totalDigits","fractionDigits","length","minLength","maxLength","enumeration","whiteSpace","pattern"],_dataTypes:["BL","INT","REAL","ST","TX","BIN","DT","DTM","TM","CNE","CWE","RTO","QTY","NR","YEAR","MONTH","DAY","URL","EMAIL","PHONE",""],_errorMessages:{BL:"must be a boolean (true/false).",INT:"must be an integer number.",REAL:"must be a decimal number.",ST:"must be a string value.",TX:"must be a text value.",BIN:"must be a binary value.",DT:"must be a date value.",DTM:"must be a date and time value.",TM:"must be a time value.",CNE:"must be a value from the answer list.",CWE:"must be a value from the answer list or a user supplied value.",RTO:"must be a ratio value.",QTY:"must be a decimal number",NR:"must be two numeric values separated by a ^. One value can be omitted, but not the ^.",YEAR:"must be a numeric value of year.",MONTH:"must be a numeric value of month.",DAY:"must be a numeric value of day.",URL:"must be a valid URL.",EMAIL:"must be a valid email address.",PHONE:"must be a valid phone number."},checkRequired:function(n,t,e){var i=!0;return n&&(null==t||""===t||Array.isArray(t)&&0===t.length)&&(i=!1,e.push("requires a value")),i},checkDataType:function(n,t,e){var i=!0;if(null!=t&&""!==t)switch(n){case"BL":!0!==t&&!1!==t&&(i=!1);break;case"INT":i=It.isInteger(t);break;case"REAL":case"QTY":i=It.isDecimal(t);break;case"PHONE":i=/(((^\s*(\d\d){0,1}\s*(-?|\.)\s*(\(?\d\d\d\)?\s*(-?|\.?)){0,1}\s*\d\d\d\s*(-?|\.?)\s*\d{4}\b)|(^\s*\+\(?(\d{1,4}\)?(-?|\.?))(\s*\(?\d{2,}\)?\s*(-?|\.?)\s*\d{2,}\s*(-?|\.?)(\s*\d*\s*(-|\.?)){0,3})))(\s*(x|ext|X)\s*\d+){0,1}$)/.test(t);break;case"EMAIL":i=/^\s*((\w+)(\.\w+)*)@((\w+)(\.\w+)+)$/.test(t);break;case"URL":i=/^(https?|ftp):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?$/.test(t);break;case"TM":i=/^\s*(((\d|[0-1]\d|2[0-4]):([0-5]\d))|(\d|0\d|1[0-2]):([0-5]\d)\s*([aApP][mM]))\s*$/.test(t);break;case"YEAR":i=/^\d{1,4}$/.test(t);break;case"MONTH":i=/^(0?[1-9]|1[012])$/.test(t);break;case"DAY":i=/^(0?[1-9]|[12]\d|3[01])$/.test(t);break;case"NR":i=/^(\-?\d+(\.\d*)?)?\s*\^\s*(\-?\d+(\.\d*)?)?$/.test(t);break;case"DT":i=It.isValidDate(t);break;default:i=!0}return Array.isArray(e)&&!i&&e.push(this._errorMessages[n]),i},checkRestrictions:function(n,t,e){var i=!0;if(null!=t&&""!==t)for(var r in n){var o=!0,a=n[r];switch(r){case"minExclusive":parseFloat(t)>parseFloat(a)?o=!0:(o=!1,e.push("must be a value greater than "+a+"."));break;case"minInclusive":parseFloat(t)>=parseFloat(a)?o=!0:(o=!1,e.push("must be a value greater than or equal to "+a+"."));break;case"maxExclusive":parseFloat(t)<parseFloat(a)?o=!0:(o=!1,e.push("must be a value less than "+a+"."));break;case"maxInclusive":parseFloat(t)<=parseFloat(a)?o=!0:(o=!1,e.push("must be a value less than or equal to "+a+"."));break;case"totalDigits":case"fractionDigits":break;case"length":t.length==parseInt(a)?o=!0:(o=!1,e.push("must have a total length of "+a+"."));break;case"maxLength":t.length<=parseInt(a)?o=!0:(o=!1,e.push("must have a total length less than or equal to "+a+"."));break;case"minLength":t.length>=parseInt(a)?o=!0:(o=!1,e.push("must have a total length greater than or equal to "+a+"."));break;case"pattern":var s=a.indexOf("/"),l=a.lastIndexOf("/"),h=a.slice(s+1,l),p=a.slice(l+1);new RegExp(h,p).test(t)?o=!0:(o=!1,e.push("must match a RegExp pattern of "+a+"."));break;default:o=!0}i=i&&o}return i}};let ZA={getValueInStandardUnit:function(n,t){return(n*this.units_[t]).toFixed(this.precision_)},getStandardUnit:function(){},precision_:4,units_:{kg:1,kgs:1,kilograms:1,pounds:.453592,lbs:.453592,cm:1,cms:1,centimeters:1,feet:30.48,ft:30.48,inches:2.54,"[in_i]":2.54,meters:100,"ft-inches":2.54}},XA={calculations_:{precision_:2,TOTALSCORE:function(n){for(var t=0,e=0,i=n.length;e<i;e++)t+=parseFloat(n[e]);return t},BMI:function(n){var t="",e=parseFloat(n[0]),i=parseFloat(n[1]);return e&&""!=e&&i&&""!=i&&"0"!=i&&(t=(t=e/Math.pow(i/100,2)).toFixed(this.precision_)),t},BSA:function(n){var t="",e=parseFloat(n[0]),i=parseFloat(n[1]);return e&&""!=e&&i&&""!=i&&(t=(t=Math.sqrt(i*e/3600)).toFixed(this.precision_)),t}}};class A_{constructor(t,e=null){if(this.code=null,this.codeList=null,this.identifier=null,this.name=null,this.templateOptions={},this.items=[],this.PATH_DELIMITER="/",this.hasSavedData=!1,this._invalidData=!1,this._repeatableItems={},this._opt={},this._actionLogs=[],this._activeItem=null,this._defaultTemplateOptions={showQuestionCode:!1,showCodingInstruction:!1,allowMultipleEmptyRepeatingItems:!1,allowHTMLInInstructions:!1,displayControl:{questionLayout:"vertical"},viewMode:"auto",defaultAnswerLayout:{answerLayout:{type:"COMBO_BOX",columns:"0"}},hideTreeLine:!1,hideIndentation:!1,hideRepetitionNumber:!1,displayScoreWithAnswerText:!0},this.lformsVersion="34.0.2",this._packageStore=null,this._variableExt=null,this._codePath="",this._idPath="",this._displayLevel=0,this._linkToDef=null,this._horizontalTableInfo={},e&&(this._packageStore=e),t&&t._initializeInternalData){for(var i=Object.getOwnPropertyNames(t),r=0;r<i.length;r++)i[r]&&!i[r].startsWith("_")&&"function"!=typeof t[i[r]]&&(this[i[r]]=t[i[r]]);t._variableExt&&(this._variableExt=t._variableExt)}else Object.assign(this,t),this.templateOptions=t.templateOptions||{},this.PATH_DELIMITER=t.PATH_DELIMITER||"/";LForms.FHIR&&t.fhirVersion&&this._initializeFormFHIRData(t),this._initializeInternalData()}setMessageLevel(t){this._showInfo="info"==t,this._showWarnings=this._showInfo||"warning"==t,this._showErrors=this._showWarnings||"error"==t}_getResourcesFromPackageStore(t,e){var i=null;if(this._packageStore&&e&&t)for(var r=e.split("|"),o=r[0],a=r[1],s=0,l=this._packageStore.length;s<l;s++){var h=this._packageStore[s];if(h.resourceType===t&&h.url===o&&(a&&h.version===a||!a)){i=JSON.parse(JSON.stringify(h));break}}return i}checkAnswersResourceStatus(){for(var t=[],e=0,i=this.itemList.length;e<i;e++){var r=this.itemList[e];r.answerValueSet&&!r.answers&&t.push("Resource not loaded: "+r.answerValueSet)}return t}addAsyncChangeListener(t){this._asyncChangeListeners||(this._asyncChangeListeners=[]),this._asyncChangeListeners.push(t)}_notifyAsyncChangeListeners(){if(this._asyncChangeListeners)for(var t=0,e=this._asyncChangeListeners.length;t<e;++t)this._asyncChangeListeners[t]()}_initializeFormFHIRData(t){this.fhirVersion=t.fhirVersion,this._fhir=LForms.FHIR[this.fhirVersion],this._expressionProcessor=new this._fhir.SDC.ExpressionProcessor(this),this._fhirVariables={},this.extension=t.extension?t.extension.slice(0):null,t.extension&&(this._fhir.SDC.buildExtensionMap(this),this._hasResponsiveExpr=this._hasResponsiveExpr||this._fhir.SDC.hasResponsiveExpression(this),this._hasInitialExpr=this._hasInitialExpr||this._fhir.SDC.hasInitialExpression(this)),this._fhir.SDC.processExtensions(this,"obj_title")}_getFHIRSupport(){var t=this._fhir;if(!t){var e=Object.keys(LForms.FHIR);if(e.length>0&&(t=LForms.FHIR[e[0]]),!t)throw new Error("The LHC-Forms FHIR support file was not loaded.");this._fhir=t}return t}loadFHIRResources(t){LForms.fhirContext||console.log("Warning: FHIR resources might not be loaded, because loadFHIRResources() was called before LForms.Util.setFHIRContext()");var e=this,i=this._fhir.SDC,r=i.loadLaunchContext(this);return r=r.concat(i.loadAnswerValueSets(this)),t&&r.push(i.requestLinkedObs(this)),Promise.all(r).then(function(){e._notifyAsyncChangeListeners()}).catch(function(a){throw a})}_buildURL(t,e){let i=t.map(r=>encodeURIComponent(r)).join("/");return e&&(i+="?"+Object.keys(e).map(r=>r+"="+encodeURIComponent(e[r])).join("&")),i}_loadAnswerValueSetsFromPackage(t){if(t.answerValueSet){var e=this._getResourcesFromPackageStore("ValueSet",t.answerValueSet);if(e&&this._fhir){var i=this._fhir.SDC.answersFromVS(e.fileContent);i&&(t.answers=i)}}}_checkFHIRVarName(t){if(this._fhir.reservedVarNames[t])throw'The "'+t+'" variable name is reserved; Questionnaires may not assign a value to it.'}_initializeInternalData(){this._setDefaultValues(),Io.initializeCodes(this),this._repeatableItems={},this._setTreeNodes(this.items,this),this._updateLastRepeatingItemsStatus(this.items),this.itemList=[],this.itemHash={},this._updateItemReferenceList(this.items),this._standardizeScoreRule(this.itemList),this._resetHorizontalTableInfo(),this._adjustLastSiblingListForHorizontalLayout(),this._setUpAnswerAndUnitAutoComp(this.itemList),this._setupSourceToTargetMap(),this._checkFormControls()}_resetInternalData(){this._updateTreeNodes(this.items,this),this._updateLastRepeatingItemsStatus(this.items),this.itemList=[],this.itemHash={},this._updateItemReferenceList(this.items),this._standardizeScoreRule(this.itemList),this._resetHorizontalTableInfo(),this._adjustLastSiblingListForHorizontalLayout(),this._setUpAnswerAndUnitAutoComp(this.itemList),this._setupSourceToTargetMap(),this._checkFormControls()}updateSkipLogicControlledItems(t,e){var i=!1;if(t._skipLogicTargets)for(var r=0,o=t._skipLogicTargets.length;r<o;r++){var a=t._skipLogicTargets[r];i=this._updateItemSkipLogicStatus(a,null)||i,i=this.updateSkipLogicControlledItems(a,e)||i}return e(t)||i}updateOnSourceItemChange(t){for(var e=this,i=!0;i;)i=this.updateSkipLogicControlledItems(t,function(r){var o=!1;if(r._formulaTargets)for(var a=0,s=r._formulaTargets.length;a<s;a++)o=e._processItemFormula(r._formulaTargets[a])||o;if(r._dataControlTargets)for(a=0,s=r._dataControlTargets.length;a<s;a++)o=e._processItemDataControl(r._dataControlTargets[a])||o;return o});if(this._updateTreeNodes(this.items,this),this._updateLastRepeatingItemsStatus(this.items),this._resetHorizontalTableInfo(),this._adjustLastSiblingListForHorizontalLayout(),LForms.FHIR&&this._hasResponsiveExpr){let r=this;setTimeout(function(){r._expressionProcessor.runCalculations(!1).then(()=>{r._checkFormControls()})})}}_checkValidations(t){if(t._hasValidation){var e=[];Z4.checkRequired(t._answerRequired,t.value,e),Z4.checkDataType(t.dataType,t.value,e),Z4.checkRestrictions(t.restrictions,t.value,e),t._validationErrors=e}}_checkFormControls(){for(var t=!0;t;){t=!1;for(var e=0,i=this.itemList.length;e<i;e++){var r=this.itemList[e];r.calculationMethod&&(t=this._processItemFormula(r)||t),r.dataControl&&(t=this._processItemDataControl(r)||t),r.skipLogic&&(t=this._updateItemSkipLogicStatus(r,null)||t),r.isHiddenInDef&&(r._isHiddenFromView||(t=!0),r._isHiddenFromView=!0,t=this._setSubItemsHidden(r)||t)}}this._updateTreeNodes(this.items,this),this._updateLastRepeatingItemsStatus(this.items),this._resetHorizontalTableInfo(),this._adjustLastSiblingListForHorizontalLayout()}_setSubItemsHidden(t){var e=!1;if(t.items&&t.items.length>0)for(var i=0,r=t.items.length;i<r;i++){var o=t.items[i];o._isHiddenFromView||(e=!0),o._isHiddenFromView=!0,e=this._setSubItemsHidden(o)||e}return e}_setupSourceToTargetMap(){for(var t=0,e=this.itemList.length;t<e;t++){var i=this.itemList[t];if(i.calculationMethod&&i.calculationMethod.name)for(var r=this._getFormulaSourceItems(i,i.calculationMethod.value),o=0,a=r.length;o<a;o++)r[o]._formulaTargets?r[o]._formulaTargets.push(i):r[o]._formulaTargets=[i];if(i.dataControl&&Array.isArray(i.dataControl))for(o=0,a=i.dataControl.length;o<a;o++){var s=i.dataControl[o].source;if(s&&(!s.sourceType||s.sourceType===Ge_DATA_CONTROL_SOURCE_INTERNAL)&&s.sourceLinkId){if(!(l=this._findItemByLinkId(i,s.sourceLinkId)))throw new Error("Data control for item '"+i.question+"' refers to source item '"+s.sourceLinkId+"' which was not found as a sibling, ancestor, or ancestor sibling.");l._dataControlTargets?l._dataControlTargets.push(i):l._dataControlTargets=[i]}}if(i.skipLogic)for(o=0,a=i.skipLogic.conditions.length;o<a;o++){var l;(l=this._getSkipLogicSourceItem(i,i.skipLogic.conditions[o].source))._skipLogicTargets?l._skipLogicTargets.push(i):l._skipLogicTargets=[i]}}}_updateItemSkipLogicStatus(t,e){var r,i=!1;if(e)i=this._setSkipLogicStatusValue(t,Ge_SKIP_LOGIC_STATUS_DISABLED)||i,r=!0;else{if(t.skipLogic){var o=this._checkSkipLogic(t);t.skipLogic.action&&t.skipLogic.action!==Ge_SKIP_LOGIC_ACTION_ENABLE?t.skipLogic.action===Ge_SKIP_LOGIC_ACTION_DISABLE&&(i=this._setSkipLogicStatusValue(t,o?Ge_SKIP_LOGIC_STATUS_DISABLED:Ge_SKIP_LOGIC_STATUS_ENABLED)||i):i=this._setSkipLogicStatusValue(t,o?Ge_SKIP_LOGIC_STATUS_ENABLED:Ge_SKIP_LOGIC_STATUS_DISABLED)||i}else t._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED&&(i=this._setSkipLogicStatusValue(t,Ge_SKIP_LOGIC_STATUS_ENABLED)||i);r=t._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED}if(t.items&&t.items.length>0)for(var s=0,l=t.items.length;s<l;s++)i=this._updateItemSkipLogicStatus(t.items[s],r)||i;return i}_presetSkipLogicStatus(t,e){if((t.skipLogic||e)&&(this._setSkipLogicStatusValue(t,Ge_SKIP_LOGIC_STATUS_DISABLED,!0),t.items))for(var r=0,o=t.items.length;r<o;r++)this._presetSkipLogicStatus(t.items[r],!0)}_setSkipLogicStatusValue(t,e,i=!1){var r=!1;return t._skipLogicStatus!==e&&(t._skipLogicStatus&&(i||this._actionLogs.push(e===Ge_SKIP_LOGIC_STATUS_DISABLED?"Hiding "+t._text:"Showing "+t._text)),t._preSkipLogicStatus=t._skipLogicStatus,t._skipLogicStatus=e,r=!0),r}_updateItemReferenceList(t){for(var e=0,i=t.length;e<i;e++){var r=t[e];this.itemList.push(r),this.itemHash[r._elementId]=r,r.items&&r.items.length>0&&this._updateItemReferenceList(r.items)}}_findItemsWithScore(){for(var t={},e=0,i=this.itemList.length;e<i;e++){var r=this.itemList[e];if(("CNE"===r.dataType||"CWE"===r.dataType)&&r.answers&&Array.isArray(r.answers)&&r.answers.length>0)for(var o=0,a=r.answers.length;o<a;o++){var s=r.answers[o];if(s&&s.hasOwnProperty("score")&&!isNaN(s.score)){t[r.linkId]=r;break}}}return Object.keys(t)}_standardizeScoreRule(t){for(var e=0,i=t.length;e<i;e++){var r=t[e];if(r.calculationMethod&&(r.calculationMethod.name===Ge_CALCULATION_METHOD_TOTALSCORE||r.calculationMethod===Ge_CALCULATION_METHOD_TOTALSCORE)){r.calculationMethod={name:Ge_CALCULATION_METHOD_TOTALSCORE,value:[]};var o=this._findItemsWithScore();r.calculationMethod.value=o}}}_setDefaultValues(){this._codePath="",this._idPath="",this._displayLevel=0,this._activeItem=null,"LOINC"===this.codeSystem&&(this._linkToDef="http://s.details.loinc.org/LOINC/"+this.code+".html"),(!this.template||0==this.template.length||"form-view-a"===this.template||"form-view-b"===this.template)&&(this.template="table");var t=It.deepCopy(this.templateOptions),e=It.deepCopy(this._defaultTemplateOptions);this.setTemplateOptions(t,e)}_mergeTwoArrays(t,e){for(var i=0,r=e.length;i<r;i++)if(e[i])for(var o=Object.keys(e[i]),a=0,s=o.length;a<s;a++)(null!==e[i][o[a]]||void 0!==e[i][o[a]])&&(t[i][o[a]]=e[i][o[a]])}setTemplateOptions(t,e=null){if(t){e||(e=It.deepCopy(this.templateOptions));let i=void 0!==t.displayScoreWithAnswerText&&t.displayScoreWithAnswerText!==e.displayScoreWithAnswerText;if(this.templateOptions=Object.assign({},e,t),i)for(let r=0,o=this.itemList.length;r<o;r++){let a=this.itemList[r];a._hasAnswerList&&a._hasScoreInAnswer&&this._updateAutocompOptions(a)}this.setMessageLevel(this.templateOptions.messageLevel)}}_lfItemValueFromDefaultAnswer(t){var e=t.defaultAnswer;if(null==e||""===e)return!1;!t._hasAnswerList&&(t.dataType===Ge_DATA_TYPE_DTM||t.dataType===Ge_DATA_TYPE_DT)&&"string"==typeof e&&((e=It.stringToDate(e))||console.error(t.defaultAnswer+": Invalid date/datetime string as defaultAnswer for "+t.questionCode)),Oo.assignValueToItem(t,e)}_setTreeNodes(t,e){for(var i=t.length,r=i-1,o=null,a=1,s=0;s<i;s++){var l=t[s];if(Io.initializeCodes(l),l._text=l.prefix?l.prefix+" "+l.question:l.question,l.header?l.dataType!==Ge_DATA_TYPE_TITLE&&(l.dataType=Ge_DATA_TYPE_SECTION):l.units&&!l.dataType?l.dataType=Ge_DATA_TYPE_REAL:l.dataType||(l.dataType=Ge_DATA_TYPE_ST),("string"==typeof l.answers||"number"==typeof l.answers)&&this.answerLists&&Array.isArray(this.answerLists[l.answers])&&(l.answers=this.answerLists[l.answers]),this._packageStore&&this._loadAnswerValueSetsFromPackage(l),l._hasAnswerList=Oo.hasAnswerList(l),"SECTION"===l.dataType?l.displayControl?l.displayControl.questionLayout||(l.displayControl.questionLayout="vertical"):(l.displayControl={questionLayout:"vertical"},l.layout&&(l.displayControl.questionLayout=l.layout,delete l.layout)):l._hasAnswerList&&(l.displayControl?l.displayControl.answerLayout||(l.displayControl.answerLayout=It.deepCopy(this.templateOptions.defaultAnswerLayout.answerLayout)):l.displayControl=It.deepCopy(this.templateOptions.defaultAnswerLayout)),l.extension&&this._fhir&&(this._fhir.SDC.buildExtensionMap(l),this._hasResponsiveExpr=this._hasResponsiveExpr||this._fhir.SDC.hasResponsiveExpression(l),this._hasInitialExpr=this._hasInitialExpr||this._fhir.SDC.hasInitialExpression(l),l._hasListExpr=this._fhir.SDC.hasListExpression(l)),this._updateItemAttrs(l),l._hasAnswerList?this._resetItemValueWithAnswers(l):!this.hasSavedData&&null!=l.defaultAnswer&&null==l.value&&this._lfItemValueFromDefaultAnswer(l),l._questionRepeatable&&o&&o.linkId===l.linkId?a+=1:a=1,l._id=a,l._idPath=e._idPath+this.PATH_DELIMITER+l._id,l._elementId=l.linkId+l._idPath,l._displayLevel=e._displayLevel+1,l._lastSibling=s===r,l._firstSibling=0===s,this._setupInFieldPlaceholders(l),l.value&&!l._hasAnswerList&&(l.dataType===Ge_DATA_TYPE_DT||l.dataType===Ge_DATA_TYPE_DTM)&&(l.value=It.stringToDate(l.value)),!l._hasAnswerList&&(l.dataType===Ge_DATA_TYPE_INT||l.dataType===Ge_DATA_TYPE_REAL||l.dataType===Ge_DATA_TYPE_QTY)&&"number"==typeof l.value&&(l.value=l.value+""),(l._answerRequired||l.restrictions||l.dataType!==Ge_DATA_TYPE_ST&&l.dataType!==Ge_DATA_TYPE_TX&&l.dataType!==Ge_DATA_TYPE_DTM&&l.dataType!==Ge_DATA_TYPE_DT&&l.dataType!==Ge_DATA_TYPE_TM&&!l._hasAnswerList)&&(l._hasValidation=!0),("LOINC"===l.questionCodeSystem||"LOINC"===this.codeSystem&&!l.questionCodeSystem)&&(l._linkToDef="http://s.details.loinc.org/LOINC/"+l.questionCode+".html"),l.items&&l.items.length>0&&this._setTreeNodes(l.items,l),l._questionRepeatable&&1===l._id){delete l._parentItem;var h=It.deepCopy(l);this._removeUserDataAndRepeatingSubItems(h),this._repeatableItems[l.linkId]=h}l._parentItem=e,o=l}}_setupInFieldPlaceholders(t){if(!t._readOnly)if(t._entryFormat)t._placeholder=t._entryFormat;else if(t._hasAnswerList)t._placeholder=t.dataType===Ge_DATA_TYPE_CWE?t.externallyDefined?t._multipleAnswers?"Search for or type values":"Search for or type a value":t._multipleAnswers?"Select one or more or type a value":"Select one or type a value":t.externallyDefined?t._multipleAnswers?"Search for values":"Search for value":t._multipleAnswers?"Select one or more":"Select one";else switch(t.dataType){case Ge_DATA_TYPE_DT:t._placeholder="MM/DD/YYYY";break;case Ge_DATA_TYPE_DTM:t._placeholder="MM/DD/YYYY HH:MM:SS";break;case Ge_DATA_TYPE_TM:t._placeholder="HH:MM:SS";break;case Ge_DATA_TYPE_CNE:t._placeholder=t.externallyDefined?t._multipleAnswers?"Search for values":"Search for value":t._multipleAnswers?"Select one or more":"Select one";break;case Ge_DATA_TYPE_CWE:t._placeholder=t.externallyDefined?t._multipleAnswers?"Search for or type values":"Search for or type a value":t._multipleAnswers?"Select one or more or type a value":"Select one or type a value";break;case"SECTION":case"TITLE":case"":t._placeholder="";break;case Ge_DATA_TYPE_INT:case Ge_DATA_TYPE_REAL:case Ge_DATA_TYPE_QTY:t._placeholder="Type a number";break;default:t._placeholder="Type a value"}}_removeUserDataAndRepeatingSubItems(t){if(t.value=null,t.unit=null,t.items&&t.items.length>0)for(var e=0;e<t.items.length;e++){var i=t.items[e];i._questionRepeatable&&1!=i._id?(t.items.splice(e,1),e--):this._removeUserDataAndRepeatingSubItems(i)}}_updateItemAttrs(t){if(t.questionCardinality||(t.questionCardinality={min:"1",max:"1"}),t.answerCardinality||(t.answerCardinality={min:"0",max:"1"}),!Array.isArray(t.answers)&&""!==t.answers&&this.answerLists&&(t.answers=this.answerLists[t.answers]),Array.isArray(t.answers)&&(t.dataType===Ge_DATA_TYPE_CNE||t.dataType===Ge_DATA_TYPE_CNE))for(var e=t.answerCodeSystem?Io.getCodeSystem(t.answerCodeSystem):null,i=0,r=t.answers.length;i<r;i++){var o=t.answers[i];o.system?o.system=Io.getCodeSystem(o.system):o.codeSystem?(o.system=Io.getCodeSystem(o.codeSystem),delete o.codeSystem):e&&(o.system=e)}t._questionRepeatable=t.questionCardinality.max&&("*"===t.questionCardinality.max||parseInt(t.questionCardinality.max)>1),t._answerRequired=t.answerCardinality.min&&t.answerCardinality.min&&parseInt(t.answerCardinality.min)>=1,t._multipleAnswers=Io._hasMultipleAnswers(t),t._readOnly=t.editable&&"0"===t.editable||!!t.calculationMethod,this._fhir&&(this._fhir.SDC.processExtensions(t,"obj_text"),this._fhir.SDC.processExtensions(t,"obj_prefix"))}_isHidden(t){return t._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED||t._isHiddenFromView||!1===t._enableWhenExpVal}_updateTreeNodes(t,e){for(var i=t.length,r=i-1,o=!1,a=i-1;a>=0;a--){if((s=t[a])._id||(s._id=1),s._idPath=e._idPath+this.PATH_DELIMITER+s._id,s._elementId=s.linkId+s._idPath,s._displayLevel=e._displayLevel+1,s._parentItem=e,s._repeatingSectionList=null,this._updateItemAttrs(s),s._lastSibling=a===r,o||(this._isHidden(s)?(s._lastSibling=!1,r-=1):(s._lastSibling=!0,o=!0)),s._questionRepeatable&&1===s._id&&!this._repeatableItems[s.linkId]){delete s._parentItem;var l=It.deepCopy(s);this._removeUserDataAndRepeatingSubItems(l),this._repeatableItems[s.linkId]=l}s._parentItem=e,s.items&&s.items.length>0&&this._updateTreeNodes(s.items,s)}var h=!1,p=0;for(a=0;a<i;a++){var s;(s=t[a])._firstSibling=a===p,h||(s._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED?(s._firstSibling=!1,p+=1):(s._firstSibling=!0,h=!0))}}getFormData(t,e,i){for(var r=this.getUserData(!1,t,e,i),o=!1,a=0,s=this.itemList.length;a<s;a++)if(!Io.isItemValueEmpty(this.itemList[a].value)){o=!0;break}var h={lformsVersion:this.lformsVersion,PATH_DELIMITER:this.PATH_DELIMITER,code:this.code,codeList:this.codeList,identifier:this.identifier,codeSystem:this.codeSystem,name:this.name,type:this.type,template:this.template,copyrightNotice:this.copyrightNotice,items:r.itemsData,templateOptions:It.deepCopy(this.templateOptions)};return this.extension&&this.extension.length>0&&(h.extension=this.extension),o&&(h.hasSavedData=!0),this.fhirVersion&&(h.fhirVersion=this.fhirVersion),h}getUserData(t,e,i,r){var o={};return this._invalidData=!1,this._checkSubTreeValues(this.items),o.itemsData=this._processDataInItems(this.items,t,e,i,r),It.deepCopy(o)}checkValidity(){const t=[],e=this.itemList.length;for(let i=0;i<e;i++){const r=this.itemList[i];if(r._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED&&(this._checkValidations(r),void 0!==r._validationErrors&&r._validationErrors.length)){const o=r._validationErrors.map(a=>`${r.question} ${a}`);Array.prototype.push.apply(t,o)}}return t.length?t:null}_checkSubTreeValues(t){for(var e=0,i=t.length;e<i;e++)this._setSubTreeHasValue(t[e])}_setSubTreeHasValue(t){var e=!1;if(Io.isItemValueEmpty(t.value)||(e=!0),t.items&&t.items.length>0)for(var i=0,r=t.items.length;i<r;i++)this._setSubTreeHasValue(t.items[i])&&(e=!0);return t._itemOrSubtreeHasValue=e,e}_processDataInItems(t,e,i,r,o){for(var a=[],s=0,l=t.length;s<l;s++){var h=t[s],p={};if(!(r&&h._skipLogicStatus===Ge_SKIP_LOGIC_STATUS_DISABLED||i&&!h._itemOrSubtreeHasValue&&h.dataType!==Ge_DATA_TYPE_SECTION&&h.dataType!==Ge_DATA_TYPE_TITLE)){if(e)p.questionCode=h.questionCode,h.dataType!==Ge_DATA_TYPE_SECTION&&h.dataType!==Ge_DATA_TYPE_TITLE&&(void 0!==h.value&&(p.value=this._getOriginalValue(h.value,h.dataType,h._hasAnswerList)),h.unit&&(p.unit=this._getOriginalValue(h.unit)));else for(var C in h.extension&&h.extension.length>0&&(p.extension=h.extension),h)"value"===C?p[C]=this._getOriginalValue(h[C],h.dataType,h._hasAnswerList):"unit"===C?p[C]=this._getOriginalValue(h[C]):!C.match(/^[_\$]/)&&"extension"!==C&&(p[C]=h[C]),o&&(p._id=h._id);h.items&&h.items.length>0&&(p.items=this._processDataInItems(h.items,e,i,r,o)),(!i||p.items&&0!==p.items.length||h._itemOrSubtreeHasValue)&&a.push(p)}}return a}_filterInternalData(t,e){var i={};if(e&&t._notOnList&&!t.code&&!t.system)i=t.text;else for(var r in t)r.match(/^[_\$]/)||(i[r]=t[r]);return i}getItemValues(t){var e;if(t._questionRepeatable){e=[];for(var r=t._parentItem.items,o=t.linkId,a=!1,s=0,l=r.length;s<l;++s){var h=r[s];if(h.linkId===o)Io.isItemValueEmpty(h.value)||e.push(h.value),a=!0;else if(a)break}}else{var i=t.value;e=Io.isItemValueEmpty(i)?[]:t._multipleAnswers?i:[i]}return e}_getObjectValue(t,e=!1){var i=null;if(t)if(Array.isArray(t)){for(var r=[],o=0,a=t.length;o<a;o++)r.push("object"==typeof t[o]?this._filterInternalData(t[o],e):t[o]);i=r}else"object"==typeof t&&(i=this._filterInternalData(t,e));return i}_getOriginalValue(t,e=null,i=!1){var r;if(null!=t)if(e)switch(e){case Ge_DATA_TYPE_INT:i?r=t:Array.isArray(t)?r=t.map(o=>(It.isInteger(o)||(this._invalidData=!0),parseInt(o))):(It.isInteger(t)||(this._invalidData=!0),r=parseInt(t));break;case Ge_DATA_TYPE_REAL:case Ge_DATA_TYPE_QTY:It.isDecimal(t)||(this._invalidData=!0),r=parseFloat(t);break;case Ge_DATA_TYPE_DT:r=i?t:Array.isArray(t)?t.map(o=>It.dateToDTStringISO(o)):It.dateToDTStringISO(t);break;case Ge_DATA_TYPE_DTM:r=It.dateToDTMString(t);break;case Ge_DATA_TYPE_CNE:r=this._getObjectValue(t);break;case Ge_DATA_TYPE_CWE:r=this._getObjectValue(t,!0);break;case Ge_DATA_TYPE_BL:r=!!t;break;default:r=t}else r=this._getObjectValue(t);return r}getRepeatingItemMaxId(t){var e=t._id;if(t._parentItem&&Array.isArray(t._parentItem.items))for(var i=0,r=t._parentItem.items.length;i<r;i++)t._parentItem.items[i].linkId===t.linkId&&t._parentItem.items[i]._id>e&&(e=t._parentItem.items[i]._id);return e}getRepeatingItemCount(t){var e=0;if(t._parentItem&&Array.isArray(t._parentItem.items))for(var i=0,r=t._parentItem.items.length;i<r;i++)t._parentItem.items[i].linkId===t.linkId&&e++;return e}_updateLastRepeatingItemsStatus(t){if(t&&0!==t.length){for(var e=t.length,i="",r=0;r<e;r++){var o=t[r];""!==i&&(t[r-1]._lastRepeatingItem=!(i===o.linkId||!t[r-1]._questionRepeatable)),i=o.linkId,o.items&&o.items.length>0&&this._updateLastRepeatingItemsStatus(o.items)}t[e-1]._lastRepeatingItem=!!t[e-1]._questionRepeatable,t[e-1].items&&t[e-1].items.length>0&&this._updateLastRepeatingItemsStatus(t[e-1].items)}}_getLastSubItem(t){var e=t;if(t&&Array.isArray(t.items)&&t.items.length>0){var i,r=t.items.length,o=!1;do{(i=t.items[--r])._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED&&(o=!0)}while(!o);o&&(e=this._getLastSubItem(i))}return e}_resetHorizontalTableInfo(){this._horizontalTableInfo={};for(var t=null,e=null,i=0,r=this.itemList.length;i<r;i++){var o=this.itemList[i];if(o.dataType===Ge_DATA_TYPE_SECTION&&o.displayControl&&"horizontal"==o.displayControl.questionLayout){var a=[],s=[];o._inHorizontalTable=!0;var l=o.linkId+o._parentItem._idPath;if(e=o._elementId,null===t||t!==l){t=l,o._horizontalTableHeader=!0,o._horizontalTableId=t;for(var h=0,p=(a=o.items).length;h<p;h++){var C=a[h];s.push({item:C,id:"col"+C._elementId,displayControl:C.displayControl}),a[h]._inHorizontalTable=!0}this._horizontalTableInfo[t]={tableStartIndex:i,tableEndIndex:i+a.length,columnHeaders:s,tableRows:[{header:o,cells:a}],tableHeaders:[o]},this._horizontalTableInfo[t].lastHeaderId=e}else if(t===l){for(o._horizontalTableHeader=!1,h=0,p=(a=o.items).length;h<p;h++)a[h]._inHorizontalTable=!0;this._horizontalTableInfo[t].tableRows.push({header:o,cells:a}),this._horizontalTableInfo[t].tableHeaders.push(o),this._horizontalTableInfo[t].tableEndIndex=i+a.length,this._horizontalTableInfo[t].lastHeaderId=e}}}}_adjustLastSiblingListForHorizontalLayout(){var t=this._horizontalTableInfo;for(var e in t){var i=t[e].tableHeaders;i.length>1&&(i[0]._lastSibling=i[i.length-1]._lastSibling)}}addRepeatingItems(t){var e=this.getRepeatingItemMaxId(t),i=It.deepCopy(this._repeatableItems[t.linkId]);if(i._id=e+1,t._parentItem&&Array.isArray(t._parentItem.items)){for(var r=0,o=0,a=t._parentItem.items.length;o<a;o++)if(t._parentItem.items[o].linkId===t.linkId&&t._parentItem.items[o]._id===t._id){r=o;break}t._parentItem.items.splice(r+1,0,i),i._parentItem=t._parentItem,this._presetSkipLogicStatus(i,!1)}this._resetInternalData();var s="Added "+this.itemDescription(t);return this._actionLogs.push(s),LForms.FHIR&&this._hasResponsiveExpr&&this._expressionProcessor.runCalculations(!1).then(()=>{}),i}_findIndexForNewRepetition(t){for(var e=0,i=!1,r=0,o=t._parentItem.items.length;r<o;r++)if(t._parentItem.items[r].linkId===t.linkId&&(i=!0),i&&t._parentItem.items[r].linkId!==t.linkId){e=r;break}return i&&r===o&&(e=r),e}appendRepeatingItems(t){var e=this.getRepeatingItemMaxId(t),i=It.deepCopy(this._repeatableItems[t.linkId]);if(i._id=e+1,t._parentItem&&Array.isArray(t._parentItem.items)){var r=this._findIndexForNewRepetition(t);t._parentItem.items.splice(r,0,i),i._parentItem=t._parentItem,this._presetSkipLogicStatus(i,!1)}this._resetInternalData();var o="Added "+this.itemDescription(t);return this._actionLogs.push(o),i}areAnyRepeatingItemsEmpty(t){for(var e=!1,i=this._getRepeatingItems(t),r=0,o=i.length;r<o;r++)i[r]._showUnusedItemWarning=!1,this._isRepeatingItemEmpty(i[r])&&(e=!0);return e&&(t._showUnusedItemWarning=!0),e}_isRepeatingItemEmpty(t){var e=!0;if(t.dataType!==Ge_DATA_TYPE_SECTION){if(null==t.value||""===t.value)return e;if(t._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED)if(Array.isArray(t.value)&&t.value.length>0){for(var i=!1,r=0,o=t.value.length;r<o&&(t.value[r].text&&(i=null!=t.value[r].text&&""!==t.value[r].text),!i);r++);e=!i}else if("object"==typeof t.value){const l=t.value;e=!(null!=l.data||l.url||l.text||l instanceof Date)}else null!=t.value&&""!==t.value&&(e=!1)}if(e&&t.items)for(var a=0,s=t.items.length;a<s&&(e=this._isRepeatingItemEmpty(t.items[a]));a++);return e}_getRepeatingItems(t){var e=[];if(t._questionRepeatable&&t._parentItem&&Array.isArray(t._parentItem.items))for(var i=t._parentItem.items,r=0,o=i.length;r<o;r++)i[r].linkId===t.linkId&&e.push(i[r]);return e}getPrevRepeatingItem(t){var e=this._getRepeatingItems(t),r=e.map(function(o){return o._elementId}).indexOf(t._elementId);return r>0?e[r-1]:null}getNextRepeatingItem(t){var e=this._getRepeatingItems(t),r=e.map(function(o){return o._elementId}).indexOf(t._elementId);return r<e.length-1?e[r+1]:null}getFirstRepeatingItem(t){return this._getRepeatingItems(t)[0]}getLastRepeatingItem(t){var e=this._getRepeatingItems(t);return e[e.length-1]}removeRepeatingItems(t){if(t._parentItem&&Array.isArray(t._parentItem.items))for(var e=0,i=t._parentItem.items.length;e<i;e++)if(t._parentItem.items[e].linkId==t.linkId&&t._parentItem.items[e]._id==t._id){t._parentItem.items.splice(e,1);break}this._resetInternalData();var r="Removed "+this.itemDescription(t);this._actionLogs.push(r),LForms.FHIR&&this._hasResponsiveExpr&&this._expressionProcessor.runCalculations(!1).then(()=>{})}setRepeatingItems(t,e,i,r){var a,o=!1;let s=!1,l=!1;if(It.deepEqual(t._lastComputedMessages,i)||(t._lastComputedRepeatingMessages=i,s=!0),t._questionRepeatable){if(t._parentItem&&Array.isArray(t._parentItem.items)){a=this._getRepeatingItems(t);var C,N,p=e.length-a.length;if(o=0!==p,p<0&&(N=this._findIndexForNewRepetition(t)+p,t._parentItem.items.splice(N,-p),a.splice(p),0===e.length&&(p=1,C=0)),p>0){void 0===N&&(N=this._findIndexForNewRepetition(t),C=this.getRepeatingItemMaxId(t));for(var B=this._isHidden(t._parentItem),X=0;X<p;++X){var se=It.deepCopy(this._repeatableItems[t.linkId]);se._id=C+1,t._parentItem.items.splice(N,0,se),se._parentItem=t._parentItem,a.push(se),this._presetSkipLogicStatus(se,B)}}X=0;for(var be=e.length;X<be;++X)l=Oo.assignValueToItem(a[X],e[X])||l,s&&Oo.setItemMessages(a[X],i[X],r)}}else t._multipleAnswers?t.value=e:(l=Oo.assignValueToItem(t,e[0])||l,e.length>1?(Oo.addItemWarning(t,"MultipleValuesForNonRepeat"),console.log(JSON.stringify(e))):Oo.removeItemWarning(t,"MultipleValuesForNonRepeat")),s&&Oo.setItemMessagesArray(t,i,r);o&&this._resetInternalData();var ze="Set values for "+this.itemDescription(t);return this._actionLogs.push(ze),l&&this.updateOnSourceItemChange(t),o?a[a.length-1]:void 0}setRepeatingItemMessages(t,e,i){if(!It.deepEqual(t._lastComputedMessages,e))if(t._lastComputedRepeatingMessages=e,t._questionRepeatable){if(t._parentItem&&Array.isArray(t._parentItem.items)){const a=this._getRepeatingItems(t);for(var r=0,o=a.length;r<o;++r)Oo.setItemMessages(a[r],e[r],i)}}else Oo.setItemMessagesArray(t,e,i)}itemDescription(t){return t._inHorizontalTable?"row":t.dataType===Ge_DATA_TYPE_SECTION?"section":"question"}_getScores(t,e){for(var i=[],r=this._getFormulaSourceItems(t,e.value),o=0,a=r.length;o<a;o++){var s=0;(t=r[o])&&t.value&&t.value.score&&t._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED&&(s=t.value.score),i.push(s)}return i}_getFormulaSourceItems(t,e){for(var i=[],r=0,o=e.length;r<o;r++){var s=this._findItemByLinkId(t,e[r]);i.push(s)}return i}_getValuesInStandardUnit(t,e){for(var i=[],r=this._getFormulaSourceItems(t,e.value),o=0,a=r.length;o<a;o++){var s=null;(t=r[o]).value&&t._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED&&(s=t.unit&&t.unit.name?ZA.getValueInStandardUnit(parseFloat(t.value),t.unit.name):parseFloat(t.value)),i.push(s)}return i}getFormulaResult(t){var e="",i=[];if(t.calculationMethod){var r=t.calculationMethod;i=r.name===Ge_CALCULATION_METHOD_TOTALSCORE?this._getScores(t,r):this._getValuesInStandardUnit(t,r),e=XA.calculations_[r.name](i)}return e}_processItemFormula(t){var e=!1;if(t.calculationMethod&&t.calculationMethod.name){let i=this.getFormulaResult(t);It.deepEqual(i,t.value)||(t.value=i,e=!0)}return e}_processItemDataControl(t){var e=!1;return t.dataControl&&Array.isArray(t.dataControl)&&(e=this._updateDataByDataControl(t))&&(this._updateAutocompOptions(t),this._updateUnitAutocompOptions(t)),e}_constructObjectByDataFormat(t,e){var i={};if("object"==typeof t)for(var r=Object.keys(t),o=0,a=r.length;o<a;o++)i[r[o]]=this._getDataFromNestedAttributes(t[r[o]],e);return i}_constructArrayByDataFormat(t,e){var i=[],r=!1;if("object"==typeof t){for(var o=Object.keys(t),a={},s=o.length,l=-1,h=0;h<s;h++){var p=a[o[h]]=this._getDataFromNestedAttributes(t[o[h]],e);if(!Array.isArray(p)){r=!0;break}if(-1===l)l=p.length;else if(l!==p.length){r=!0;break}}if(!r)for(var C=0;C<l;C++){var N={};for(h=0;h<s;h++)N[o[h]]=a[o[h]][C];i.push(N)}}return i}_updateDataByDataControl(t){for(var e=!1,i=0,r=t.dataControl.length;i<r;i++){var o=t.dataControl[i].source,a=t.dataControl[i].onAttribute,s=t.dataControl[i].construction,l=t.dataControl[i].dataFormat;if(a||(a="value"),s||(s=Ge_DATA_CONTROL_CONSTRUCTION_SIMPLE),l||(l="value"),o){var h=o.sourceType;if(h||(h=Ge_DATA_CONTROL_SOURCE_INTERNAL),h===Ge_DATA_CONTROL_SOURCE_INTERNAL&&o.sourceLinkId){var p=this._findItemByLinkId(t,o.sourceLinkId);if(p&&p._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED){let C;s===Ge_DATA_CONTROL_CONSTRUCTION_ARRAY?C=this._constructArrayByDataFormat(l,p):s===Ge_DATA_CONTROL_CONSTRUCTION_OBJECT?C=this._constructObjectByDataFormat(l,p):s===Ge_DATA_CONTROL_CONSTRUCTION_SIMPLE&&(C=this._getDataFromNestedAttributes(l,p)),It.deepEqual(t[a],C)||(t[a]=It.deepCopy(C),e=!0)}}}}return e}_getDataFromNestedAttributes(t,e){for(var i=t.trim().split("."),r=e,o=i.length,a=0;a<o&&r;a++){var s=i[a];if(!s)break;var l=s.match(/^(.+)\[(\d+)\]$/);if(l){r=r[l[1]];var h=parseInt(l[2]);if(!Number.isInteger(h))break;r=r[h]}else r=r[s]}return a===o&&r?r:null}_setUpAnswerAndUnitAutoComp(t){for(var e=0,i=t.length;e<i;e++){var r=t[e];r._hasAnswerList&&this._updateAutocompOptions(r),this._updateUnitAutocompOptions(r)}}_setUnitDisplay(t){t._displayUnit=t.name?t.name:t.code?t.code:null}_updateUnitAutocompOptions(t){if(t.units&&!t._hasAnswerList){t.unit&&this._setUnitDisplay(t.unit),t._unitAutocompOptions=null;for(var r,e=[],i=t.units,o=0,a=i.length;o<a;o++){var s=It.deepCopy(i[o]);this._setUnitDisplay(s),i[o].default&&(r=s),s._displayUnit&&e.push(s)}if((t.dataType===Ge_DATA_TYPE_INT||t.dataType===Ge_DATA_TYPE_REAL)&&(t.units&&t.units.length>1?(console.log('Form definition warning: Data types of INT or REAL may only have one unit. Question "'+t.question+'" has '+t.units.length+" units. For multiple units, use type QTY instead."),t.dataType=Ge_DATA_TYPE_QTY):(t._unitReadonly=!0,t.unit||(t.unit=e[0]))),t.dataType===Ge_DATA_TYPE_QTY){var l={listItems:e,matchListValue:t.units&&(!t._unitOpen||"optionsOrString"!=t._unitOpen)||!t.units&&"optionsOnly"==t._unitOpen,autoFill:!0,display:"_displayUnit"};void 0!==r?l.defaultValue=r:1===e.length&&(l.defaultValue=e[0]),It.deepEqual(t._unitAutocompOptions,l)||(t._unitAutocompOptions=l)}}}_resetItemValueWithAnswers(t){var e=null,i=this.hasSavedData?t.value:t.value||t.defaultAnswer;if(i){e=[];var r=t._multipleAnswers&&Array.isArray(i)?i:[i];if(t.dataType!==Ge_DATA_TYPE_CWE)e=r;else for(var o=0,a=r.length;o<a;++o)"string"==typeof r[o]||"number"==typeof r[o]?(e.push({text:r[o],_notOnList:!0}),t._answerOther=r[o],t._answerOtherChecked=!0):e.push(r[o])}if(e){var s=[];if(t.dataType===Ge_DATA_TYPE_CNE||t.dataType===Ge_DATA_TYPE_CWE)for(var l=0,h=e.length;l<h;++l){var p=e[l],C=!1;if(t.externallyDefined)s=e;else if(Array.isArray(t.answers)){for(var N=0,B=t.answers.length;!C&&N<B;++N)It.areTwoAnswersSame(p,t.answers[N],t)&&(s.push(t.answers[N]),C=!0);!C&&t.dataType===Ge_DATA_TYPE_CWE&&(p._notOnList=!0,s.push(p))}else s.push(p)}else s=e;t.value=t._multipleAnswers?s:s[0]}}_fhirClientSearchByValueSetID(t,e,i){return LForms.fhirContext.client.request(this._buildURL(["ValueSet",t,"$expand"],{count:i,filter:e}))}_findValueSetIDAndSearch(t,e,i){var r="Could not retrieve the ValueSet definition for "+t.answerValueSet,o=LForms.fhirContext.client;LForms._valueSetUrlToID||(LForms._valueSetUrlToID={});var a=LForms._valueSetUrlToID[t.answerValueSet];if(a)return this._fhirClientSearchByValueSetID(a,e,i);{const s=this;return o.request(this._buildURL(["ValueSet"],{url:t.answerValueSet,_total:"accurate"})).then(function(l){if(1===l.total){var p=l.entry[0].resource.id;return LForms._valueSetUrlToID[t.answerValueSet]=p,s._fhirClientSearchByValueSetID(p,e,i)}return console.log(r),Promise.reject(r)},function(l){return console.log(r),Promise.reject(r)})}}_updateAutocompOptions(t){var e;if(t._hasAnswerList){var i=t.answerCardinality?t.answerCardinality.max:1;"*"!==i&&"string"==typeof i&&(i=parseInt(i));var r={matchListValue:t.dataType!==Ge_DATA_TYPE_CWE,maxSelect:i,autoFill:!1},o=t.externallyDefined;if(o){if(r.url=o,r.autocomp=!0,r.nonMatchSuggestions=!1,r.tableFormat=!0,r.valueCols=[0],r.colHeaders=t.displayControl.listColHeaders,r.colHeaders)for(var a=r.colHeaders,s=0,l=a.length;s<l;++s)a[s]=a[s].replace(/</g,"<")}else if(t.isSearchAutocomplete&&t.answerValueSet){var p=this._getFHIRSupport().SDC._getExpansionURL(t);if(p)r.url=p,r.fhir=!0;else{if(null===(e=LForms.fhirContext)||void 0===e||!e.client)throw new Error('Cannot properly initialize the list for field "'+t.question+'" because it requires either a terminology server to be specified or LForms.Util.setFHIRContext(...) to have been called to provide access to a FHIR server.');{const be=this;r.fhir={search:function(ze,Ue){return LForms.fhirCapabilities.urlExpandBroken?be._findValueSetIDAndSearch(t,ze,Ue):LForms.fhirContext.client.request(be._buildURL(["ValueSet","$expand"],{count:Ue,filter:ze,url:t.answerValueSet})).catch(Je=>(LForms.fhirCapabilities.urlExpandBroken=!0,be._findValueSetIDAndSearch(t,ze,Ue)))}}}}}else{[r.listItems,r.addSeqNum]=this._getAnswerDisplayTextWithLabelAndScore(this.templateOptions.displayScoreWithAnswerText,t),r.display="_displayText",r.listItemsForModel=t.answers;var C=r.listItems,N=!0;for(s=0,l=C.length;s<l&&N;++s)N=!!C[s].parentAnswerCode;if(!N){var B=[],X={};for(s=0,l=C.length;s<l;++s){var se=C[s];B.push(se.code),se.parentAnswerCode&&(X[se.code]=se.parentAnswerCode)}r.codes=B,r.itemToHeading=X}}It.deepEqual(r,t._autocompOptions)||(t._autocompOptions=r)}}_getAnswerDisplayTextWithLabelAndScore(t,e){var i=[],r=!1,o=!1;let a=e.answers;if(a&&Array.isArray(a))for(var s=0,l=a.length;s<l;s++){var h=It.deepCopy(a[s]),p=h.text+"";h.label?(p=h.label+". "+p,r=!0):!o&&!isNaN(h.text)&&(o=!0),null!=h.score&&(e._hasScoreInAnswer=!0,t&&(p=p+" - "+h.score)),h._displayText=p,i.push(h)}return[i,!r&&!o]}_inRange(t,e){var i=!1;if(t&&!isNaN(e)){var r=Object.keys(t);if(1==r.length)switch(r[0]){case"minInclusive":i=t.minInclusive<=e;break;case"minExclusive":i=t.minExclusive<e;break;case"maxInclusive":i=t.maxInclusive>=e;break;case"maxExclusive":i=t.maxExclusive>e}else 2==r.length&&(t.hasOwnProperty("minInclusive")?i=t.minInclusive<=e:t.hasOwnProperty("minExclusive")&&(i=t.minExclusive<e),i&&(t.hasOwnProperty("maxInclusive")?i=t.maxInclusive>=e:t.hasOwnProperty("maxExclusive")&&(i=t.maxExclusive>e)))}return i}_objectEqual(t,e){return It.shallowEqual(t,e)}_findItemByLinkId(t,e){for(var i=null,r=t._parentItem,o=!1;!o&&r;)r.linkId===e&&(i=r,o=!0),r=r._parentItem;var a=null;if(!i){for(var s=0,l=this.itemList.length;s<l;s++)if(t._elementId===this.itemList[s]._elementId){a=s;break}if(null!==a){for(var h=a-1;h>=0;h--)if(this.itemList[h].linkId===e){i=this.itemList[h];break}if(!i)for(var p=a+1,C=this.itemList.length;p<C;p++)if(this.itemList[p].linkId===e){i=this.itemList[p];break}}}return i}_getSkipLogicSourceItem(t,e){return this._findItemByLinkId(t,e)}_codingsEqual(t,e){let i=!1,r=o=>null!=o&&""!==o;return(t.system===e.system||!t.system&&!e.system)&&(i=r(t.code)||r(e.code)?t.code===e.code:t.text&&e.text&&t.text===e.text),!!i}_checkSkipLogicCondition(t,e){var i=!1,r=t&&null!=t.value&&""!==t.value&&t._skipLogicStatus!==Ge_SKIP_LOGIC_STATUS_DISABLED;if(e.hasOwnProperty("exists"))i=e.exists&&r||!e.exists&&!r;else if(r){var o=t.value;if(t._hasAnswerList)switch(t.dataType){case Ge_DATA_TYPE_CNE:case Ge_DATA_TYPE_CWE:case Ge_DATA_TYPE_INT:case Ge_DATA_TYPE_ST:case Ge_DATA_TYPE_DT:case Ge_DATA_TYPE_TM:for(var a=e.hasOwnProperty("value")?e.value:e.hasOwnProperty("notEqual")?e.notEqual:null,s=Array.isArray(o)?o:[o],l=!1,h=0,p=s.length;h<p;h++){let N=s[h];if(t.dataType===Ge_DATA_TYPE_CNE||t.dataType===Ge_DATA_TYPE_CWE){if(t.answerCodeSystem&&(N=Object.assign({system:t.answerCodeSystem},N)),this._codingsEqual(a,N)){l=!0;break}}else if(a===N.text){l=!0;break}}e.hasOwnProperty("value")?l&&(i=!0):e.hasOwnProperty("notEqual")&&(l||(i=!0))}else switch(t.dataType){case Ge_DATA_TYPE_INT:case Ge_DATA_TYPE_REAL:case Ge_DATA_TYPE_QTY:var C=parseFloat(o);e.hasOwnProperty("value")?e.value===C&&(i=!0):e.hasOwnProperty("notEqual")?e.notEqual!=C&&(i=!0):this._inRange(e,C)&&(i=!0);break;case Ge_DATA_TYPE_ST:case Ge_DATA_TYPE_TX:case Ge_DATA_TYPE_BL:e.hasOwnProperty("value")?e.value===o&&(i=!0):e.hasOwnProperty("notEqual")&&e.notEqual!=o&&(i=!0)}}else e.hasOwnProperty("notEqual")&&null!=e.notEqual&&""!==e.notEqual&&(i=!0);return i}_checkSkipLogic(t){var e=!1;if(t.skipLogic){var i="ALL"===t.skipLogic.logic,r=!t.skipLogic.logic||"ANY"===t.skipLogic.logic;e=i;for(var o=0,a=t.skipLogic.conditions.length;o<a;o++){var s=t.skipLogic.conditions[o],l=this._getSkipLogicSourceItem(t,s.source),h=this._checkSkipLogicCondition(l,s.trigger);if(i&&!h){e=!1;break}if(r&&h){e=!0;break}}}return e}getSkipLogicClass(t){return t._skipLogicStatus}needExtra(t){var e=!1;return t&&t.value&&!Array.isArray(t.value)&&t.value.other&&(e=!0),e}setActiveRow(t){this._activeItem=t}getActiveRowClass(t){var e="";return this._activeItem&&this._activeItem._elementId===t._elementId&&(e="lhc-active-row"),e}}const JA={LOINC_URI:"http://loinc.org",LOINC_CS:"LN",obrFieldNum:43,obxFieldNum:17,DataType:{ST:"String",TX:"Text data",FT:"Formatted text",CQ:"Composite quantity with units",MO:"Money",NM:"Numeric",SI:"Sequence ID",SN:"Structured numeric",ID:"Coded values for HL7 tables",IS:"Coded values for user-defined tables",HD:"Hierarchic designator",EI:"Entity identifier",RP:"Reference pointer",PL:"Person location",PT:"Processing type",DT:"Date",DTM:"Date/Time",TM:"Time",TS:"Time stamp",CE:"Coded element",CF:"Coded element with formatted values",CK:"Composite ID with check digit",CN:"Composite ID number and name",CX:"Extended composite ID with check digit",XCN:"Extended composite ID number and name",CM:"Composite",AD:"Address",PN:"Person name",TN:"Telephone number",XAD:"Extended address",XPN:"Extended person name",XON:"Extended composite name and ID number for organizations",XTN:"Extended telecommunications number",CD:"Channel definition",MA:"Multiplexed array",NA:"Numeric array",ED:"Encapsulated data",CP:"Composite price",FC:"Financial class",QSC:"Query selection criteria",QIP:"Query input parameter list",RCD:"Row column definition",DLN:"Driver\u2019s license number",JCC:"Job code/class",VH:"Visiting hours",PPN:"Performing person time stamp",DR:"Date/time range",RI:"Repeat interval",SCV:"Scheduling class value pair",TQ:"Timing/quantity"},delimiters:{segment:"\r",field:"|",component:"^",subcomponent:"&",repetition:"~",escape:"\\"},OBX:[{seq:1,len:4,dt:"SI",opt:"O",name:"Set ID"},{seq:2,len:2,dt:"ID",opt:"R",name:"Value Type"},{seq:3,len:590,dt:"CE",opt:"R",name:"Observation Identifier"},{seq:4,len:20,dt:"ST",opt:"O",name:"Observation Sub-ID"},{seq:5,len:65536,dt:"ST",opt:"O",name:"Observation Value"},{seq:6,len:60,dt:"CE",opt:"O",name:"Units"},{seq:7,len:10,dt:"ST",opt:"O",name:"Reference Range"},{seq:8,len:5,dt:"ID",opt:"O",name:"Abnormal Flags"},{seq:9,len:5,dt:"NM",opt:"O",name:"Probability"},{seq:10,len:2,dt:"ID",opt:"O",name:"Nature of Abnormal Test"},{seq:11,len:1,dt:"ID",opt:"R",name:"Observation Result Status"},{seq:12,len:26,dt:"TS",opt:"O",name:"Date Last Obs Normal Values"},{seq:13,len:20,dt:"ST",opt:"O",name:"User Defined Access Checks"},{seq:14,len:26,dt:"TS",opt:"O",name:"Date/Time of the Observation"},{seq:15,len:60,dt:"CE",opt:"O",name:"Producer's ID"},{seq:16,len:80,dt:"XCN",opt:"O",name:"Responsible Observer"},{seq:17,len:80,dt:"CE",opt:"O",name:"Observation Method"}],OBR:[{seq:1,len:4,dt:"SI",opt:"C",name:"Set ID - OBR"},{seq:2,len:75,dt:"EI",opt:"C",name:"Placer Order Number"},{seq:3,len:75,dt:"EI",opt:"C",name:"Filler Order Number"},{seq:4,len:200,dt:"CE",opt:"R",name:"Universal Service ID"},{seq:5,len:2,dt:"ID",opt:"B",name:"Priority"},{seq:6,len:26,dt:"TS",opt:"B",name:"Requested Date/time"},{seq:7,len:26,dt:"TS",opt:"C",name:"Observation Date/Time"},{seq:8,len:26,dt:"TS",opt:"O",name:"Observation End Date/Time"},{seq:9,len:20,dt:"CQ",opt:"O",name:"Collection Volume"},{seq:10,len:60,dt:"XCN",opt:"O",name:"Collector Identifier"},{seq:11,len:1,dt:"ID",opt:"O",name:"Specimen Action Code"},{seq:12,len:60,dt:"CE",opt:"O",name:"Danger Code"},{seq:13,len:300,dt:"ST",opt:"O",name:"Relevant Clinical Info."},{seq:14,len:26,dt:"TS",opt:"C",name:"Specimen Received Date/Time"},{seq:15,len:300,dt:"CM",opt:"O",name:"Specimen Source"},{seq:16,len:80,dt:"XCN",opt:"O",name:"Ordering Provider"},{seq:17,len:40,dt:"XTN",opt:"O",name:"Order Callback Phone Number"},{seq:18,len:60,dt:"ST",opt:"O",name:"Placer field 1"},{seq:19,len:60,dt:"ST",opt:"O",name:"Placer field 2"},{seq:20,len:60,dt:"ST",opt:"O",name:"Filler Field 1"},{seq:21,len:60,dt:"ST",opt:"O",name:"Filler Field 2"},{seq:22,len:26,dt:"TS",opt:"C",name:"Results Rpt/Status Chng - Date/Time"},{seq:23,len:40,dt:"CM",opt:"O",name:"Charge to Practice"},{seq:24,len:10,dt:"ID",opt:"O",name:"Diagnostic Serv Sect ID"},{seq:25,len:1,dt:"ID",opt:"C",name:"Result Status"},{seq:26,len:400,dt:"CM",opt:"O",name:"Parent Result"},{seq:27,len:200,dt:"TQ",opt:"O",name:"Quantity/Timing"},{seq:28,len:150,dt:"XCN",opt:"O",name:"Result Copies To"},{seq:29,len:150,dt:"CM",opt:"O",name:"Parent"},{seq:30,len:20,dt:"ID",opt:"O",name:"Transportation Mode"},{seq:31,len:300,dt:"CE",opt:"O",name:"Reason for Study"},{seq:32,len:200,dt:"CM",opt:"O",name:"Principal Result Interpreter"},{seq:33,len:200,dt:"CM",opt:"O",name:"Assistant Result Interpreter"},{seq:34,len:200,dt:"CM",opt:"O",name:"Technician"},{seq:35,len:200,dt:"CM",opt:"O",name:"Transcriptionist"},{seq:36,len:26,dt:"TS",opt:"O",name:"Scheduled Date/Time"},{seq:37,len:4,dt:"NM",opt:"O",name:"Number of Sample Containers"},{seq:38,len:60,dt:"CE",opt:"O",name:"Transport Logistics of Collected Sample"},{seq:39,len:200,dt:"CE",opt:"O",name:"Collector\u2019s Comment"},{seq:40,len:60,dt:"CE",opt:"O",name:"Transport Arrangement Responsibility"},{seq:41,len:30,dt:"ID",opt:"O",name:"Transport Arranged"},{seq:42,len:1,dt:"ID",opt:"O",name:"Escort Required"},{seq:43,len:200,dt:"CE",opt:"O",name:"Planned Patient Transport Comment"}],getHL7V2DataType:function(n){var t;switch(n){case"INT":case"REAL":case"QTY":t="NM";break;case"NR":case"TX":case"DT":case"DTM":case"TM":case"CNE":case"CWE":t=n;break;default:t="ST"}return t},toHL7Segments:function(n){var t="",e={obrIndex:1,obxIndex:1},i=n.getFormData(!1,!0);this._generateOBX4(i);var r=new Array(this.obrFieldNum);r[0]="OBR",r[1]="1",r[4]=i.code+this.delimiters.component+i.name+this.delimiters.component+this.LOINC_CS;for(var a=this.obrFieldNum-1;a>=0;a--)void 0===r[a]||(void 0!==r[a]?t=r[a]+this.delimiters.field+t:t+=this.delimiters.field);if(t+=this.delimiters.segment,i.items)for(var l=0,h=i.items.length;l<h;l++)"TITLE"!==i.items[l].dataType&&(t+=this._itemToHL7v2(i.items[l],e));return t},_generateOBX4:function(n){n&&n.items&&this._precessOBX4AtOneLevel("",n.items)},_precessOBX4AtOneLevel:function(n,t){for(var e=0,i=1,r=null,o=0,a=t.length;o<a;o++){var l,s=t[o];if("SECTION"===s.dataType)if((l=s.questionCardinality.max)&&("*"===l||parseInt(l)>1)){if(this._isSectionEmpty(s))continue;!r||r&&r.questionCode!==s.questionCode?(i=1,e+=1):i+=1;var h=It.getNextLetter(i);s._obx4=n?n+"."+e+h:e+h,this._precessOBX4AtOneLevel(s._obx4,s.items)}else i=1,e+=1,s._obx4=n?n+"."+e:e,this._precessOBX4AtOneLevel(s._obx4,s.items);else if((l=s.questionCardinality.max)&&("*"===l||parseInt(l)>1)){if(Io.isItemValueEmpty(s.value))continue;!r||r&&r.questionCode!==s.questionCode?i=1:i+=1,h=It.getNextLetter(i),s._obx4=n?n+"."+h:h}else s._obx4=n||"",i=1;r=s}},_generateOBX5:function(n,t,e){var r=n.code;return"CWE"!==t||r||0===r?r+this.delimiters.component+n.text+this.delimiters.component+(n.system?"LOINC"===n.system||n.system===this.LOINC_URI?this.LOINC_CS:n.system:""):this.delimiters.component.repeat(8)+n.text},_DT_FMT:"YYYYMMDD",_DTM_FMT:"YYYYMMDDHHmmss",_itemToHL7v2:function(n,t){var e="",i=this.LOINC_CS;if("TITLE"!==n.dataType){var r=new Array(this.obrFieldNum);if(n.header){var o="";r[0]="OBR",r[1]=++t.obrIndex,r[4]=n.questionCode+this.delimiters.component+n.question+this.delimiters.component+i;for(var s=this.obrFieldNum-1;s>=0;s--)void 0===r[s]||(void 0!==r[s]?o=r[s]+this.delimiters.field+o:o+=this.delimiters.field);if(o+=this.delimiters.segment,n.items)for(var h=0,p=n.items.length;h<p;h++)e+=this._itemToHL7v2(n.items[h],t)}else if(!Io.isItemValueEmpty(n.value)){var C=Array.isArray(n.value),N=C?n.value:[n.value],B=[];if(B[0]="OBX",B[1]=t.obxIndex++,B[2]=this.getHL7V2DataType(n.dataType),B[3]=n.questionCode+this.delimiters.component+n.question+this.delimiters.component+i,n.unit){var X="";void 0!==n.unit.name&&(X=n.unit.name),B[6]=X+this.delimiters.component+X+this.delimiters.component+this.LOINC_CS}s=0;for(var se=N.length;s<se;++s){var be=N[s];if(B[4]=n._obx4,C&&(""!==n._obx4&&(B[4]+="."),B[4]+=It.getNextLetter(s+1)),"CNE"===n.dataType||"CWE"===n.dataType)B[5]=this._generateOBX5(be,n.dataType);else if("DT"===n.dataType||"DTM"===n.dataType){var ze="string"==typeof be?It.stringToDate(be):be;B[5]=It.formatDate(ze,"DT"===n.dataType?this._DT_FMT:this._DTM_FMT)}else B[5]=be.toString();e+=B.join(this.delimiters.field)+this.delimiters.field+this.delimiters.segment}}}return e},_isSectionEmpty:function(n){var t=!0;if(n.items)for(var e=0,i=n.items.length;e<i&&t;e++){var r=n.items[e];t="SECTION"===r.dataType?!0===r._emptySection||!1===r._emptySection?r._emptySection:this._isSectionEmpty(r):Io.isItemValueEmpty(r.value)}return n._emptySection=t,t}};var eL=Y(5139),L_=Y.n(eL);window.LForms={externalJQuery:window.jQuery,jQuery:L_()},window.jQuery=L_();var tL=Y(5076),X4=Y.n(tL),nL=Y(82);const la=window.LForms;function J4(n,t){return new ge(e=>{const i=n.length;if(0===i)return void e.complete();const r=new Array(i);let o=0,a=0;for(let s=0;s<i;s++){const l=xi(n[s]);let h=!1;e.add(l.subscribe({next:p=>{h||(h=!0,a++),r[s]=p},error:p=>e.error(p),complete:()=>{o++,(o===i||!h)&&(a===i&&e.next(t?t.reduce((p,C,N)=>(p[C]=r[N],p),{}):r),e.complete())}}))}})}
|
|
1524
1524
|
/**
|
|
1525
1525
|
* @license Angular v14.2.12
|
|
1526
1526
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
@@ -1532,7 +1532,7 @@ var jA=Y(137),$A=Y(6908),Q4=Y.n($A),WA=Y(1318),g6=Y.n(WA),GA=Y(5541),v6=Y.n(GA);
|
|
|
1532
1532
|
*
|
|
1533
1533
|
* Use of this source code is governed by an MIT-style license that can be
|
|
1534
1534
|
* found in the LICENSE file at https://angular.io/license
|
|
1535
|
-
*/la.LFormsData=A_,la.HL7=JA,la.ucumPkg=jA,la.Util=Io,la.Def=X4(),la.Validations=Z4,la.lformsVersion="34.0.
|
|
1535
|
+
*/la.LFormsData=A_,la.HL7=JA,la.ucumPkg=jA,la.Util=Io,la.Def=X4(),la.Validations=Z4,la.lformsVersion="34.0.2",la.Util.FHIRSupport=nL,la.externalJQuery?window.jQuery=la.externalJQuery:delete window.jQuery,delete la.externalJQuery;let F_=(()=>{class n{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return n.\u0275fac=function(e){return new(e||n)(te(xr),te(En))},n.\u0275dir=mt({type:n}),n})(),Ql=(()=>{class n extends F_{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=ji(n)))(i||n)}}(),n.\u0275dir=mt({type:n,features:[cn]}),n})();const Jr=new gt("NgValueAccessor"),rL={provide:Jr,useExisting:$t(()=>eh),multi:!0};
|
|
1536
1536
|
/**
|
|
1537
1537
|
* @license
|
|
1538
1538
|
* Copyright Google LLC All Rights Reserved.
|