!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("firebase"),require("@angular/core"),require("@mycure/sdk"),require("socket.io-client"),require("lodash"),require("@angular/common/http"),require("rxjs/operators"),require("file-saver"),require("xlsx"),require("rxjs/scheduler/queue"),require("rxjs"),require("moment")):"function"==typeof define&&define.amd?define("@mycure/mc-services",["exports","firebase","@angular/core","@mycure/sdk","socket.io-client","lodash","@angular/common/http","rxjs/operators","file-saver","xlsx","rxjs/scheduler/queue","rxjs","moment"],t):t((e.mycure=e.mycure||{},e.mycure["mc-services"]={}),null,e.ng.core,null,null,null,e.ng.common.http,e.rxjs.operators,null,null,e.rxjs["scheduler/queue"],e.rxjs,null)}(this,function(e,i,t,o,a,f,n,r,s,c,u,d,p){"use strict";a=a&&a.hasOwnProperty("default")?a["default"]:a,p=p&&p.hasOwnProperty("default")?p["default"]:p;var l=function(e,t){return(l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var m=function(){return(m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function v(t,a,s,c){return new(s||(s=Promise))(function(e,n){function r(e){try{o(c.next(e))}catch(t){n(t)}}function i(e){try{o(c["throw"](e))}catch(t){n(t)}}function o(t){t.done?e(t.value):new s(function(e){e(t.value)}).then(r,i)}o((c=c.apply(t,a||[])).next())})}function h(r,i){var o,a,s,e,c={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return e={next:t(0),"throw":t(1),"return":t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function n(e){if(o)throw new TypeError("Generator is already executing.");for(;c;)try{if(o=1,a&&(s=2&e[0]?a["return"]:e[0]?a["throw"]||((s=a["return"])&&s.call(a),0):a.next)&&!(s=s.call(a,e[1])).done)return s;switch(a=0,s&&(e=[2&e[0],s.value]),e[0]){case 0:case 1:s=e;break;case 4:return c.label++,{value:e[1],done:!1};case 5:c.label++,a=e[1],e=[0];continue;case 7:e=c.ops.pop(),c.trys.pop();continue;default:if(!(s=0<(s=c.trys).length&&s[s.length-1])&&(6===e[0]||2===e[0])){c=0;continue}if(3===e[0]&&(!s||e[1]>s[0]&&e[1]<s[3])){c.label=e[1];break}if(6===e[0]&&c.label<s[1]){c.label=s[1],s=e;break}if(s&&c.label<s[2]){c.label=s[2],c.ops.push(e);break}s[2]&&c.ops.pop(),c.trys.pop();continue}e=i.call(r,c)}catch(t){e=[6,t],a=0}finally{o=s=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([t,e])}}}function y(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return function r(e,t){function n(){this.constructor=e}l(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(o.CoreService);function _(e){var t=i.initializeApp(e.config),n=localStorage.getItem("syncbase:uri"),r=o.core.initialize(n||e.base,{firebaseApp:t,socketIOClient:a});return console.log("listening to socket events..."),r.io.on("error",function(e){console.error("SOCKET IO ERROR",e)}),r.io.on("disconnect",function(e){console.error("SOCKET IO DC",e)}),r.io.on("reconnect_attempt",function(e){console.error("SOCKET IO RECON",e)}),r.io.on("reconnect_failed",function(e){console.error("SOCKET IO RECON FAILED",e)}),r.io.on("connect",function(e){console.error("SOCKET IO CONNECTED",e)}),r.io.on("connect_error",function(e){console.error("SOCKET IO CONNECT ERROR",e)}),r}var b=new t.InjectionToken("MycureSDKConfigToken"),k={provide:g,useFactory:_,deps:[b]},$={Off:0,Error:1,Warning:2,Info:3,Debug:4};$[$.Off]="Off",$[$.Error]="Error",$[$.Warning]="Warning",$[$.Info]="Info",$[$.Debug]="Debug";var I=function(){function o(e){this.source=e}return o.enableProductionMode=function(){o.level=$.Warning},o.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log(console.log,$.Debug,e)},o.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log(console.info,$.Info,e)},o.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log(console.warn,$.Warning,e)},o.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.log(console.error,$.Error,e)},o.prototype.log=function(e,t,n){var r=this;if(t<=o.level){var i=this.source?["["+this.source+"]"].concat(n):n;e.apply(console,i),o.outputs.forEach(function(e){return e.apply(e,[r.source,t].concat(n))})}},o.level=$.Debug,o.outputs=[],o}(),x=function(){function e(e){this.sdk=e}return e.prototype.loadVariant=function(e){var t={sku:e};return this.sdk.warehouse.variants().find(t)},e.prototype.loadVariants=function(i,o,a){return void 0===o&&(o=undefined),void 0===a&&(a="all"),v(this,void 0,void 0,function(){var t,n,r=this;return h(this,function(e){switch(e.label){case 0:return t={$populate:{stock:{service:"wh-stocks",key:"sku",method:"findOne",idField:"variant",warehouse:i}},branches:i},"sellable"==a?t.sellable=!0:"supplies"==a&&(t.sellable=!1),o&&(t.product=o),[4,this.sdk.warehouse.variants().find(t)];case 1:return n=e.sent(),[2,n.items.map(function(e){return e=r.createVariantId(e),m({},f.omit(e,["$populated"]),{quantity:(e.$populated.stock||{}).quantity||0})})]}})})},e.prototype.removeVariant=function(e){var t={sku:e};return this.sdk.warehouse.variants().remove(e,t)},e.prototype.createVariantId=function(e){if(e&&e.sku){var t=e.sku.substr(0,3).toUpperCase(),n=e.sku.substr(-10).toUpperCase();return m({_id:t+"-"+n},e)}return e},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),w=function(){function e(e){this.sdk=e}return e.prototype.loadAdjustmentOrders=function(i){return v(this,void 0,void 0,function(){var t,n,r=this;return h(this,function(e){switch(e.label){case 0:return t={warehouse:i,type:"adjustment",$sort:{createdAt:-1}},[4,this.sdk.warehouse.transactions().find(t)];case 1:return n=e.sent(),[2,n.items.map(function(e){return r.createId(e)})]}})})},e.prototype.loadReturnOrders=function(i){return v(this,void 0,void 0,function(){var t,n,r=this;return h(this,function(e){switch(e.label){case 0:return t={warehouse:i,type:"return",$sort:{createdAt:-1}},[4,this.sdk.warehouse.transactions().find(t)];case 1:return n=e.sent(),[2,n.items.map(function(e){return r.createId(e)})]}})})},e.prototype.loadDispenseOrders=function(i){return v(this,void 0,void 0,function(){var t,n,r=this;return h(this,function(e){switch(e.label){case 0:return t={type:"sales",warehouse:i,$sort:{createdAt:-1},customerType:"org-member"},[4,this.sdk.warehouse.transactions().find(t)];case 1:return n=e.sent(),[2,n.items.map(function(e){return r.createId(e)})]}})})},e.prototype.loadDispenseOrder=function(e){var t={type:"sales",id:e};return this.sdk.warehouse.transactions().findOne(t)},e.prototype.loadPoFromSuppliers=function(i){return v(this,void 0,void 0,function(){var t,n,r=this;return h(this,function(e){switch(e.label){case 0:return t={type:"purchase",warehouse:i,supplierType:"wh-supplier",$sort:{createdAt:-1},$populate:{supplier:{service:"wh-suppliers",key:"supplier",method:"findOne",idField:"id"}}},[4,this.sdk.warehouse.transactions().find(t)];case 1:return n=e.sent(),[2,n.items.map(function(e){var n=0;return(e=r.createId(e))&&e.items&&0!=e.items.length&&e.items.map(function(e){if(e.quantity){var t=parseInt(e.quantity);n=n+=t}}),m({},f.omit(e,["$populated"]),{_totalUnits:n,_supplier:e.$populated.supplier||{}})})]}})})},e.prototype.loadPoReceivingOrders=function(a){return v(this,void 0,void 0,function(){var t,n,r,i,o;return h(this,function(e){switch(e.label){case 0:return t={type:"receiving",transaction:a},[4,this.sdk.warehouse.transactions().find(t)];case 1:return n=e.sent(),r=n.items,i={id:a,$populate:{items:{service:"wh-stocks",key:"items",extractKey:"sku",method:"find",idField:"variant",methodOps:"$in"}}},[4,this.sdk.warehouse.transactions().findOne(i)];case 2:if(!(o=e.sent()))throw new Error("No orders found");return(o=m({},f.omit(o,["$populated"]),{_items:o.$populated.items||[]}))._items&&0!=o._items.length&&(o._items=o._items.filter(function(e){return e.warehouse==o.warehouse}),o.items=o.items.map(function(t){var e=f.findLast(o._items,function(e){return e.variant==t.sku});return e&&(t._stock=e),t})),[2,{order:o,receivingOrders:r}]}})})},e.prototype.loadStockRequestRelatedOrders=function(d,p,l){return void 0===p&&(p="supplier"),void 0===l&&(l=!1),v(this,void 0,void 0,function(){var t,n,r,i,o,a,s,c,u;return h(this,function(e){switch(e.label){case 0:return t=[],l?(n={type:"transfer",transaction:d},[4,this.sdk.warehouse.transactions().find(n)]):[3,2];case 1:r=e.sent(),t=r.items,e.label=2;case 2:return i=t.map(function(e){return e.id}),o={type:"receiving",transaction:{$in:i}},[4,this.sdk.warehouse.transactions().find(o)];case 3:return a=e.sent(),s=a.items,c={id:d,$populate:{supplier:{service:"organizations",key:p,method:"findOne",idField:"id"},items:{service:"wh-stocks",key:"items",extractKey:"sku",method:"find",idField:"variant",methodOps:"$in"}}},[4,this.sdk.warehouse.transactions().findOne(c)];case 4:if(!(u=e.sent()))throw new Error("No orders found");return(u=m({},f.omit(u,["$populated"]),{_supplier:u.$populated.supplier||{},_items:u.$populated.items||[]}))._items&&0!=u._items.length&&(u._items=u._items.filter(function(e){return e.warehouse==u.warehouse}),u.items=u.items.map(function(t){var e=f.findLast(u._items,function(e){return e.variant==t.sku});return e&&(t._stock=e),t})),[2,{order:u,receivingOrders:s,transferOrders:t}]}})})},e.prototype.loadStockRequests=function(r){return v(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return t={$populate:{supplier:{service:"organizations",key:"supplier",method:"findOne",idField:"id"}},type:"purchase",supplierType:"organization",$sort:{createdAt:-1},warehouse:r},[4,this.sdk.warehouse.transactions().find(t)];case 1:return n=e.sent(),[2,n.items.map(function(e){var n=0;return e&&e.items&&0!=e.items.length&&e.items.map(function(e){if(e.quantity){var t=parseInt(e.quantity);n=n+=t}}),m({},f.omit(e,["$populated"]),{_totalUnits:n,_supplier:e.$populated.supplier||{}})})]}})})},e.prototype.loadTransferOrders=function(i){return v(this,void 0,void 0,function(){var t,n,r=this;return h(this,function(e){switch(e.label){case 0:return t={$populate:{supplier:{service:"organizations",key:"warehouse",method:"findOne",idField:"id"}},type:"purchase",supplierType:"organization",$sort:{createdAt:-1},supplier:i},[4,this.sdk.warehouse.transactions().find(t)];case 1:return n=e.sent(),[2,n.items.map(function(e){var n=0;return e&&e.items&&0!=e.items.length&&e.items.map(function(e){if(e.quantity){var t=parseInt(e.quantity);n=n+=t}}),e=r.createId(e),m({},f.omit(e,["$populated"]),{_totalUnits:n,_supplier:e.$populated.supplier||{}})})]}})})},e.prototype.createAdjustmentOrder=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){return(t=f.pick(n,["warehouse","type","finalize","reason","items"])).items=n.items.map(function(e){return f.pick(e,["adjustment","sku"])}),[2,this.sdk.warehouse.transactions().create(t)]})})},e.prototype.createPurchaseOrder=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return(t=f.pick(n,["warehouse","type","finalize","supplier","supplierType","reason","items","expiresAt"])).items=t.items.map(function(e){return f.pick(e,["price","quantity","sku","taxComplication","tax","taxCode"])}),[4,this.sdk.warehouse.transactions().create(t)];case 1:return e.sent(),[2]}})})},e.prototype.createSalesOrder=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){return(t=f.pick(n,["warehouse","type","finalize","customerType","customer","items"])).items=t.items.map(function(e){return f.pick(e,["price","quantity","sku","taxComplication","tax","taxCode"])}),t.invoice=!0,[2,this.sdk.warehouse.transactions().create(t)]})})},e.prototype.createDispenseOrder=function(t){return v(this,void 0,void 0,function(){var r,i;return h(this,function(e){switch(e.label){case 0:return r=f.pick(t,["warehouse","type","finalize","customerType","items"]),i=[],r.items=t.items.map(function(e){if(1==e.tracking){var t=Math.abs(e.quantity),n={sku:e.sku,status:"in-use",quantity:t,warehouse:r.warehouse};i.push(n)}return f.pick(e,["price","quantity","sku","taxComplication","tax","taxCode"])}),0==i.length?[3,2]:[4,this.sdk.warehouse.trackers().create(i)];case 1:e.sent(),e.label=2;case 2:return[2,this.sdk.warehouse.transactions().create(r)]}})})},e.prototype.createReturnOrder=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){return(t=f.pick(n,["warehouse","type","finalize","customerType","customer","items","reason"])).items=t.items.map(function(e){return f.pick(e,["price","quantity","sku","taxComplication","tax","taxCode"])}),[2,this.sdk.warehouse.transactions().create(t)]})})},e.prototype.createReceiveOrder=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return(t=f.pick(n,["type","finalize","transaction","items","warehouse"])).items&&(t.items=t.items.filter(function(e){return 0==e._completed}),t.items=t.items.map(function(e){return f.pick(e,["price","quantity","sku","taxComplication","tax","taxCode"])}),t.items.map(function(e){if(0==e.quantity)throw new Error("invalid input")})),[4,this.sdk.warehouse.transactions().create(t)];case 1:return e.sent(),[2]}})})},e.prototype.createTransferOrder=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return t={type:"transfer",finalize:!0,warehouse:n.warehouse,source:n.supplier,destination:n.warehouse,transaction:n.transaction},n.items&&(t.items=n.items.map(function(e){return f.pick(e,["price","quantity","sku","taxComplication","tax","taxCode"])})),[4,this.sdk.warehouse.transactions().create(t)];case 1:return e.sent(),[2]}})})},e.prototype.createApprovedOrder=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return t={approve:!0},[4,this.sdk.warehouse.transactions().update(n.transaction,t)];case 1:return e.sent(),[2]}})})},e.prototype.removeTransaction=function(e){return this.sdk.warehouse.transactions().remove(e)},e.prototype.receiveTransferOrder=function(e){var t={type:"receiving",finalize:!0,transaction:e.id,items:e.items,warehouse:e.warehouse};return e.items&&(t.items=e.items.map(function(e){return f.pick(e,["price","quantity","sku","taxComplication","tax","taxCode"])})),this.sdk.warehouse.transactions().create(t)},e.prototype.createId=function(e){if(e&&e.id){var t=e.id.substr(0,3).toUpperCase(),n=e.id.substr(-10).toUpperCase();return m({_id:t+"-"+n},e)}return e},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),S=function(){function e(e){this.sdk=e}return e.prototype.removeAllTracking=function(i){return v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:return t={warehouse:i},[4,this.sdk.warehouse.trackers().find(t)];case 1:return n=e.sent(),r=n.items.map(function(e){return e.id}),[4,this.sdk.warehouse.trackers().remove({id:{$in:r}})];case 2:return e.sent(),[2]}})})},e.prototype.updateVariantStatusTracking=function(a){return v(this,void 0,void 0,function(){var t,n,r,i,o;return h(this,function(e){switch(e.label){case 0:if(t=a.inuse,n=a.consumed,r=a.warehouse,!t&&!t.sku)throw new Error("Tracking not found");return i=t.sku,o={quantity:n.quantity,status:"consumed",sku:i,warehouse:r},[4,this.sdk.warehouse.trackers().create(o)];case 1:return e.sent(),[2]}})})},e.prototype.loadVariantStatusTracking=function(a){return v(this,void 0,void 0,function(){var t,n,r,i,o;return h(this,function(e){switch(e.label){case 0:return t={id:a,$populate:{variant:{service:"wh-variants",key:"sku",$populate:{quantity:{service:"wh-stocks",key:"sku",method:"findOne",idField:"variant"}}},consumed:{service:"wh-tracking",key:"sku",method:"find",idField:"sku",status:"consumed"}}},[4,this.sdk.warehouse.trackers().findOne(t)];case 1:return n=e.sent(),(r=m({},f.omit(n,["$populated"]),{_variant:n.$populated.variant||{},_consumed:n.$populated.consumed||[]}))._variant&&(r._variant=m({},f.omit(r._variant,["$populated"]),{_quantity:r._variant.$populated.quantity||{}})),r._consumed&&(i=r._consumed.map(function(e){return e.quantity||0}).reduce(function(e,t){return e+t},0),o=(r.quantity||0)-i,r._totalConsumed=i,r._totalInUse=o),[2,r]}})})},e.prototype.createTrackingItem=function(t){return v(this,void 0,void 0,function(){return h(this,function(e){return this.sdk.warehouse.trackers().create(t),[2]})})},e.prototype.removeTrackingItem=function(t){return v(this,void 0,void 0,function(){return h(this,function(e){return[2,this.sdk.warehouse.trackers().remove(t)]})})},e.prototype.loadTrackingItems=function(i,o){return void 0===o&&(o="status"),v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:return t={warehouse:i,$populate:{variant:{service:"wh-variants",key:"sku",$populate:{quantity:{service:"wh-stocks",key:"sku",method:"findOne",idField:"variant"}}}}},"status"==o?(n=t.$populate||{},t=m({},t,{status:"in-use",$populate:m({},n,{consumed:{service:"wh-tracking",key:"sku",method:"find",idField:"sku",status:"consumed"}})})):"expiration"==o&&(t=m({},t,{expiresAt:{$exists:!0}})),[4,this.sdk.warehouse.trackers().find(t)];case 1:return r=e.sent(),[2,r.items.map(function(e){var t=m({},f.omit(e,["$populated"]),{_variant:e.$populated.variant||{},_consumed:e.$populated.consumed||[]});if(t._variant&&(t._variant=m({},f.omit(t._variant,["$populated"]),{_quantity:t._variant.$populated.quantity||{}})),t._consumed){var n=t._consumed.map(function(e){return e.quantity||0}).reduce(function(e,t){return e+t},0),r=(t.quantity||0)-n;t._totalConsumed=n,t._totalInUse=r}return t})]}})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),C=function(){function e(e){this.sdk=e}return e.prototype.createSupplier=function(e){var t=f.pick(e,["warehouse","name","description","picURL","email","phone","website","address"]);return this.sdk.warehouse.suppliers().create(t)},e.prototype.updateSupplier=function(e,t){var n=f.pick(t,["name","description","picURL","email","phone","website","address"]);return this.sdk.warehouse.suppliers().update(e,n)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),P=function(){function e(e,t){this.sdk=e,this.http=t}return e.prototype.storeConfig=function(e){if(!(e.serverUrl&&e.serverPort&&e.accountsUrl&&e.accountsPort))throw new Error("missing configs");var t=e.serverUrl+":"+e.serverPort;return this.http.get("http://"+t+"/fixtures",{params:{id:"country-phl"}}).pipe(r.timeout(3e3))},e.prototype.storeSyncbaseConfig=function(e){if(!(e.serverUrl&&e.serverPort&&e.accountsUrl&&e.accountsPort))throw new Error("missing configs");var t="http://"+e.serverUrl+":"+e.serverPort,n="http://"+e.accountsUrl+":"+e.accountsPort;localStorage.setItem("syncbase:uri",t),localStorage.setItem("syncbase:account",n)},e.prototype.restoreSyncbaseConfig=function(e,t){localStorage.setItem("syncbase:uri",e),localStorage.setItem("syncbase:account",t)},e.prototype.removeConfig=function(){localStorage.removeItem("syncbase:uri"),localStorage.removeItem("syncbase:account")},e.prototype.loadConfig=function(){var e=localStorage.getItem("syncbase:uri"),t=localStorage.getItem("syncbase:account");return e&&t?{uri:e,account:t}:undefined},e.prototype.modifySdkConfigs=function(){var e=this.loadConfig();e&&e.uri&&this.sdk.initialize(e.uri)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g},{type:n.HttpClient}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g),t.inject(n.HttpClient))},token:e,providedIn:"root"}),e}(),D=function(){function e(e){this.sdk=e}return e.prototype.loadProducts=function(i){return v(this,void 0,void 0,function(){var t,n,r=this;return h(this,function(e){switch(e.label){case 0:return t={$or:[{branches:i},{warehouse:i}]},[4,this.sdk.warehouse.products().find(t)];case 1:return n=e.sent(),[2,n.items.map(function(e){return e=r.createProductId(e)})]}})})},e.prototype.removeProduct=function(e){return this.sdk.warehouse.products().remove(e)},e.prototype.createProductId=function(e){if(e&&e.id){var t=e.id.substr(0,3).toUpperCase(),n=e.id.substr(-10).toUpperCase();return m({_id:t+"-"+n},e)}return e},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),T=function(){function e(e){this.sdk=e}return e.prototype.loadOrder=function(e){var t={id:e,$populate:{tests:{service:"ris-tests",key:"tests"}}};return this.sdk.ris.orders().findOne(t)},e.prototype.loadPendingOrders=function(r){return v(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return t={patient:r,$pending:!0,$populate:{tests:{service:"ris-tests",key:"tests"}}},[4,this.sdk.ris.orders().find(t)];case 1:return(n=e.sent()).items=n.items.map(function(e){return m({},f.omit(e,["$populated"]),{_tests:e.$populated.tests||[]})}),[2,n]}})})},e.prototype.loadOrders=function(o,a,s){return v(this,void 0,void 0,function(){var t,n,r,i;return h(this,function(e){switch(e.label){case 0:return t={facility:o,$sort:{createdAt:-1},$populate:{tests:{service:"ris-tests",key:"tests"}}},"completed"==a?t=m({},t,{completedAt:{$exists:!0},verifiedAt:{$exists:!1},finalizedAt:{$exists:!1},sentOutAt:{$exists:!1}}):"finalized"==a?t=m({},t,{completedAt:{$exists:!0},finalizedAt:{$exists:!0},verifiedAt:{$exists:!0},sentOutAt:{$exists:!1}}):"verified"==a?t=m({},t,{completedAt:{$exists:!0},verifiedAt:{$exists:!0},finalizedAt:{$exists:!1},sentOutAt:{$exists:!1}}):"sendout"==a?t=m({},t,{sentOutAt:{$exists:!0}}):"pending"==a&&(t.$pending=!0),s&&s.start&&s.end&&((n=new Date(s.start)).setHours(0,0,0,0),(r=new Date(s.end)).setHours(23,59,59,0),t=m({},t,{createdAt:{$lte:r,$gte:n},$dateFields:["createdAt.$gte","createdAt.$lte"]})),[4,this.sdk.ris.orders().find(t)];case 1:return(i=e.sent()).items=i.items.map(function(e){var t=(e.$populated.tests||[]).map(function(e){return e.name})||[];return m({},f.omit(e,["$populated"]),{_testsNames:t.join(", ")})}),[2,i]}})})},e.prototype.createResult=function(i,o,a){return void 0===o&&(o=undefined),void 0===a&&(a=undefined),v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:if(!i.id||!i.report||!i.tests||0==i.tests.length)throw new Error("no order found");return[4,this.updateResult(i,a)];case 1:return e.sent(),t=f.pick(f.pickBy(i,f.identity),["imageLocation","technician","radiologist","sonologist"]),n=[],r=i.report,i.tests.map(function(e){n.push({test:e,value:r})}),t=m({},t,{$addToSet:{results:{$each:n}}}),o&&("finalize"==o&&(t.finalize=!0),"sendout"==o&&(t.sendOut=!0),"complete"==o&&(t.complete=!0),"verify"==o&&(t.verify=!0)),a?[2,this.sdk.ris.orders().update(i.id,t,{accessToken:a})]:[2,this.sdk.ris.orders().update(i.id,t)]}})})},e.prototype.updateResult=function(r,i){return void 0===i&&(i=undefined),v(this,void 0,void 0,function(){var t,n;return h(this,function(e){return r.results&&0!=r.results.length?(t=r.results.map(function(e){return e.id}),n={$pull:{results:{id:{$in:t}}}},i?[2,this.sdk.ris.orders().update(r.id,n,{accessToken:i})]:[2,this.sdk.ris.orders().update(r.id,n)]):[2]})})},e.prototype.removeOrder=function(e){return this.sdk.ris.orders().remove(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),A=function(){function e(e){this.sdk=e}return e.prototype.loadOrg=function(e){return this.sdk.organizations().get(e)},e.prototype.isOrgActive=function(){return!(!localStorage.getItem("organization")||"undefined"==localStorage.getItem("organization"))},e.prototype.setActiveOrganization=function(e){localStorage.setItem("organization",e)},e.prototype.setOrgMembership=function(e){var t=JSON.stringify(e);localStorage.setItem("orgMembership",t)},e.prototype.getOrgMembership=function(){return localStorage.getItem("orgMembership")},e.prototype.getActiveOrganization=function(){return localStorage.getItem("organization")},e.prototype.getBaseRoleMembership=function(e){if(e.superadmin)return"admin";if(e.roles&&0!=e.roles.length){var t=e.roles[0];if(t.includes("frontdesk"))return"FrontDesk";if(t.includes("frontdesk_head"))return"FrontDesk: Head";if(t.includes("frontdesk_encoder"))return"HMO Encoder";if(t.includes("nurse"))return"Nurse";if(t.includes("nurse_head"))return"Nurse: Head";if(t.includes("doctor"))return"Doctor";if(t.includes("doctor_pathologist"))return"Doctor: Pathologist";if(t.includes("doctor_radiologist"))return"Doctor: Radiologist";if(t.includes("doctor_sonologist"))return"Doctor: Sonologist";if(t.includes("lab_tech"))return"Lab: Technologist";if(t.includes("lab_qc"))return"Lab: QC";if(t.includes("lab_head"))return"Lab: Head";if(t.includes("imaging_tech"))return"Imaging: Technologist";if(t.includes("imaging_qc"))return"Imaging: QC";if(t.includes("imaging_head"))return"Imaging: Head";if(t.includes("billing"))return"Billing: Cashier";if(t.includes("billing_encoder"))return"Billing: HMO Encoder";if(t.includes("billing_head"))return"Billing: Head";if("admin"==t)return"Admin";if("admin_analyst"==t)return"Admin: Data Analyst";if("warehouse"==t)return"Inventory: Custodian";if("warehouse_manager"==t)return"Inventory: Manager";if("warehouse_head"==t)return"Inventory: Admin"}return""},e.prototype.getSavedBaseRoleMembership=function(){var e=localStorage.getItem("orgMembership"),t=JSON.parse(e);if(t){if(t.superadmin)return"superadmin";if(0!=(t.roles||[]).length){var n=t.roles[0];if(n.includes("admin"))return"admin";if(n.includes("doctor"))return"doctor";if(n.includes("frontdesk"))return"frontdesk";if(n.includes("nurse"))return"nurse";if(n.includes("lab"))return"lab";if(n.includes("imaging"))return"imaging";if(n.includes("warehouse"))return"warehouse";if(n.includes("billing"))return"billing"}}return undefined},e.prototype.isOrgMember=function(t){void 0===t&&(t="frontdesk");var e=localStorage.getItem("orgMembership");return!!e&&0!=e.roles.filter(function(e){return e.includes(t)}).length},e.prototype.loadOrgParentSiblingOrgIds=function(a){return v(this,void 0,void 0,function(){var t,n,r,i,o;return h(this,function(e){switch(e.label){case 0:return t=[],[4,this.sdk.organizations().get(a)];case 1:if(!(n=e.sent()))throw new Error("no organization");return n.parent&&t.push(n.parent),t.push(a),r=n.parent?{parent:n.parent}:{parent:a},[4,this.sdk.organizations().find(r)];case 2:return i=e.sent(),o=i.items.map(function(e){return e.id}),[2,t=t.concat(o)]}})})},e.prototype.loadOrgPricingTypes=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return[4,this.sdk.organizations().get(n)];case 1:if(!(t=e.sent()))throw new Error("no organization");return[2,t.bl_priceLists||[]]}})})},e.prototype.loadOrgPxTags=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return[4,this.sdk.organizations().get(n)];case 1:if(!(t=e.sent()))throw new Error("no organization");return[2,t.tags||[]]}})})},e.prototype.createOrgPxTag=function(e,t){var n={$addToSet:{tags:t}};return this.sdk.organizations().update(e,n)},e.prototype.setOrgKioskPrinting=function(e,t){void 0===t&&(t=!0);var n={queue_printNo:t};return this.sdk.organizations().update(e,n)},e.prototype.removeOrgPxTag=function(e,t){var n={$pull:{tags:t}};return this.sdk.organizations().update(e,n)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),M=new I("NotificationService"),E=function(){function e(e){this.sdk=e}return e.prototype.getPermission=function(r,n){return v(this,void 0,void 0,function(){var t=this;return h(this,function(e){return this.sdk.notifications().getDeviceToken$(n).subscribe(function(n){return v(t,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return n?(t={$addToSet:{deviceTokens:n}},[4,this.sdk.accounts().update(r,t)]):[3,2];case 1:e.sent(),M.debug("notification token successfully saved"),e.label=2;case 2:return[2]}})})}),[2]})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),O=function(){function e(e){this.sdk=e}return e.prototype.modifyPatient=function(i){return v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:return t=i.id,(r=f.pick(i,["facility"])).personalDetails=m({},f.pick(i,["name","sex","dateOfBirth","address","bloodType","mobileNo","homeNo","workNo","emergencyNo","emergencyContactName","emergencyContactRelationship","emergencyContactMobileNo","company","companyPosition","companyAddress","fathersName","fathersMobileNo","fathersReligion","fathersNationality","mothersName","mothersMobileNo","mothersReligion"])),t?[3,2]:[4,this.sdk.mf.patients().create(r)];case 1:return n=e.sent(),[3,4];case 2:return[4,this.sdk.personalDetails().update(t,r.personalDetails)];case 3:n=e.sent(),e.label=4;case 4:return[4,this.updatePatientInsurance(n.id,i)];case 5:return e.sent(),[4,this.updatePatientTag(n.id,i)];case 6:return e.sent(),[4,this.updatePatientPic(n.id,i)];case 7:return e.sent(),[2,n]}})})},e.prototype.updatePatientInsurance=function(a,s){return v(this,void 0,void 0,function(){var t,n,r,i,o;return h(this,function(e){switch(e.label){case 0:return t=s._insurance||[],(n=s.insuranceCards||[])&&a?(r=t.map(function(e){return e.id}),i={$pull:{insuranceCards:{id:{$in:r}}}},[4,this.sdk.personalDetails().update(a,i)]):[3,3];case 1:return e.sent(),o={$addToSet:{insuranceCards:{$each:n}}},[4,this.sdk.personalDetails().update(a,o)];case 2:e.sent(),e.label=3;case 3:return[2]}})})},e.prototype.updatePatientTag=function(i,o){return v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:return(t=o.tags||[])&&i?(n={$pull:{tags:{$in:t}}},[4,this.sdk.personalDetails().update(i,n)]):[3,3];case 1:return e.sent(),r={$addToSet:{tags:{$each:t}}},[4,this.sdk.personalDetails().update(i,r)];case 2:e.sent(),e.label=3;case 3:return[2]}})})},e.prototype.updatePatientPic=function(i,o){return v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:return t=o.pendingPicUpload,i&&t&&t.filePath?(n=t.filePath,[4,this.sdk.mf.patients().uploadPic(i,n,{path:"/mf-patients/"+i})]):[3,4];case 1:return[4,e.sent().upload()];case 2:return r=e.sent(),[4,this.sdk.personalDetails().update(i,{picURL:r})];case 3:e.sent(),e.label=4;case 4:return[2]}})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),R=function(){function e(e){this.sdk=e}return e.prototype.loadRecord=function(e){return this.sdk.medicalRecords().get(e)},e.prototype.loadLabResultRecord=function(r){return v(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return t={id:r,$populate:{tests:{service:"lis-tests",key:"results",extractKey:"test",$populate:{measures:{service:"lis-measures",key:"id",method:"find",idField:"test"}}}}},[4,this.sdk.medicalRecords().findOne(t)];case 1:if(!(n=e.sent()))throw new Error("error med record");return(n=m({},f.omit(n,["$populated"]),{_tests:n.$populated.tests}))._tests&&(n._tests=n._tests.map(function(e){return m({},f.omit(e,["$populated"]),{_measures:e.$populated.measures})})),[2,n]}})})},e.prototype.removeRecord=function(e){return this.sdk.medicalRecords().remove(e)},e.prototype.createMedRecordsFromProgressNote=function(e){var t=[];return e&&(f.isEmpty(e.s_cc)||t.push(this.createChiefComplaint(m({},e,{text:e.s_cc}))),f.isEmpty(e.s_hpi)||t.push(this.createHPI(m({},e,{text:e.s_hpi}))),(e.o_height||e.o_weight||e.o_pulse||e.o_respiration||e.o_oxygenSaturation||e.o_temperature||e.o_temperatureMethod||e.o_bpDiastolic||e.o_bpSystolic||e.o_headCircumference||e.o_waistCircumference||e.o_neckCircumference||e.o_abdominalCircumference)&&t.push(this.createVital(m({},e,{height:e.o_height,weight:e.o_weight,pulse:e.o_pulse,respiration:e.o_respiration,oxygenSaturation:e.o_oxygenSaturation,temperature:e.o_temperature,temperatureMethod:e.o_temperatureMethod,bpDiastolic:e.o_bpDiastolic,bpSystolic:e.o_bpSystolic,headCircumference:e.o_headCircumference,waistCircumference:e.o_waistCircumference,neckCircumference:e.o_neckCircumference,abdominalCircumference:e.o_abdominalCircumference}))),!(e.o_cpapPressure||e.o_bipapInspiration||e.o_bipapExpiration||e.o_lsatPressure||e.o_ahi||e.o_rampTime)&&f.isEmpty(e.o_psgDiagnostic)&&f.isEmpty(e.o_psgTherapeutic)&&f.isEmpty(e.o_psgSplit)||t.push(this.createENTNote(m({},e,{cpapPressure:e.o_cpapPressure,bipapInspiration:e.o_bipapInspiration,bipapExpiration:e.o_bipapExpiration,lsatPressure:e.o_lsatPressure,ahi:e.o_ahi,rampTime:e.o_rampTime,psgDiagnostic:e.o_psgDiagnostic,psgTherapeutic:e.o_psgTherapeutic,psgSplit:e.o_psgSplit}))),(e.o_lmp||e.o_fundalHeight||e.o_fetalHeartTone||!f.isEmpty(e.o_examFindings)||e.o_ultrasoundDate||e.o_ultrasoundAog)&&t.push(this.createOBNote(m({},e,{lmp:e.o_lmp?new Date(e.o_lmp):undefined,fundalHeight:e.o_fundalHeight,fetalHeartTone:e.o_fetalHeartTone,examFindings:e.o_examFindings,ultrasoundDate:e.o_ultrasoundDate,ultrasound:e.o_ultrasound}))),(!f.isEmpty(e.o_physicalExam)||e.o_consciousnessLevel||e.o_painAssessment)&&t.push(this.createPhysicalExam(m({},e,{physicalExam:e.o_physicalExam,consciousnessLevel:e.o_consciousnessLevel,painAssessment:e.o_painAssessment}))),(e.attachmentURLs||e.pendingAttachmentURLs)&&t.push(this.createAttachments(m({},e,{attachmentURLs:e.attachmentURLs,pendingAttachmentURLs:e.pendingAttachmentURLs}))),f.isEmpty(e.a_impression)||t.push(this.createImpression(m({},e,{text:e.a_impression}))),(!f.isEmpty(e.a_diagnostic)||!f.isEmpty(e.a_diagnosticICD10)||e.a_diagnosticProcedures&&0<e.a_diagnosticProcedures.length)&&t.push(this.createDiagnosis(m({},e,{text:e.a_diagnostic,icd10:e.a_diagnosticICD10,recommendedProcedures:e.a_diagnosticProcedures}))),f.isEmpty(e.p_carePlanNotes)||t.push(this.createCarePlan(m({},e,{text:e.p_carePlanNotes})))),0<t.length?Promise.all(t):Promise.resolve({})},e.prototype.createChiefComplaint=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","text"]),{type:"chief-complaint"});return this.sdk.medicalRecords().create(t)},e.prototype.createHPI=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","text"]),{type:"hpi"});return this.sdk.medicalRecords().create(t)},e.prototype.createVital=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","height","weight","pulse","respiration","oxygenSaturation","temperature","temperatureMethod","bpDiastolic","bpSystolic","headCircumference","waistCircumference","neckCircumference","abdominalCircumference"]),{type:"vitals"});return this.sdk.medicalRecords().create(t)},e.prototype.createENTNote=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","cpapPressure","lsatPressure","bipapInspiration","bipapExpiration","ahi","rampTime","psgDiagnostic","psgTherapeutic","psgSplit"]),{type:"ent-note"});return this.sdk.medicalRecords().create(t)},e.prototype.createOBNote=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","lmp","fundalHeight","fetalHeartTone","examFindings","ultrasoundDate","ultrasoundAog"]),{type:"ob-note"});return this.sdk.medicalRecords().create(t)},e.prototype.createPhysicalExam=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","consciousnessLevel","painAssessment","physicalExam"]),{type:"physical-exam"});return this.sdk.medicalRecords().create(t)},e.prototype.createAttachments=function(e){var r=this,t=m({},f.pick(e,["patient","facility","encounter","account","attachmentURLs"]),{type:"attachment"});return this.sdk.medicalRecords().create(t).then(function(n){return r.uploadPendingAttachments(n.id,e.pendingAttachmentURLs).then(function(t){return 0<t.length?r.sdk.medicalRecords().update(n.id,{$addToSet:{attachmentURLs:{$each:t}}}).then(function(e){return m({},n,{attachmentURLs:n.attachmentURLs?n.attachmentURLs.concat(t):t})}):Promise.resolve(n)})})},e.prototype.uploadPendingAttachments=function(t,e){var n=this;return e&&0<e.length?Promise.all(e.map(function(e){return n.sdk.medicalRecords().uploadPic(t,e.url).upload().then(function(e){return e})})):Promise.resolve([])},e.prototype.createImpression=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","text"]),{type:"assessment",subtype:"impression"});return this.sdk.medicalRecords().create(t)},e.prototype.createDiagnosis=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","text","icd10","recommendedProcedures"]),{type:"assessment",subtype:"diagnosis"});return this.sdk.medicalRecords().create(t)},e.prototype.createCarePlan=function(e){var t=m({},f.pick(e,["patient","facility","encounter","account","text"]),{type:"care-plan"});return this.sdk.medicalRecords().create(t)},e.prototype.loadMedicalRecordsToProgressNote=function(t,n){var r=this;return this.sdk.medicalRecords().find({encounter:n,patient:t,type:{$in:["chief-complaint","hpi","vitals","ob-note","ent-note","physical-exam","care-plan","assessment","attachment"]}}).then(function(e){return e.items}).then(function(e){return r.mapMedicalRecordsToProgressNote(t,n,e)})},e.prototype.mapMedicalRecordsToProgressNote=function(e,t,n){if(n&&0<n.length){var r={patient:e,encounter:t,type:"progress-note"};try{for(var i=y(n),o=i.next();!o.done;o=i.next()){var a=o.value;r.facility=a.facility?a.facility:r.facility,"chief-complaint"===a.type?r=m({},r,{s_cc:a.text}):"hpi"===a.type?r=m({},r,{s_hpi:a.text}):"vitals"===a.type?r=m({},r,{o_weight:a.weight,o_pulse:a.pulse,o_respiration:a.respiration,o_oxygenSaturation:a.oxygenSaturation,o_temperature:a.temperature,o_temperatureMethod:a.temperatureMethod,o_bpDiastolic:a.bpDiastolic,o_bpSystolic:a.bpSystolic,o_headCircumference:a.headCircumference,o_waistCircumference:a.waistCircumference,o_neckCircumference:a.neckCircumference,o_abdominalCircumference:a.abdominalCircumference}):"ob-note"===a.type?r=m({},r,{o_fundalHeight:a.fundalHeight,o_fetalHeartTone:a.fetalHeartTone,o_examFindings:a.examFindings,o_ultrasoundDate:a.ultrasoundDate,o_ultrasoundAog:a.ultrasoundAog}):"ent-note"===a.type?r=m({},r,{o_cpapPressure:a.cpapPressure,o_bipapInspiration:a.bipapInspiration,o_bipapExpiration:a.bipapExpiration,o_lsatPressure:a.lsatPressure,o_ahi:a.ahi,o_rampTime:a.rampTime,o_psgDiagnostic:a.psgDiagnostic,o_psgTherapeutic:a.psgTherapeutic,o_psgSplit:a.psgSplit}):"physical-exam"===a.type?r=m({},r,{o_physicalExam:a.physicalExam,o_consciousnessLevel:a.consciousnessLevel,o_painAssessment:a.painAssessment}):"attachment"===a.type?r=m({},r,{attachmentURLs:a.attachmentURLs}):"assessment"===a.type&&"impression"===a.subtype?r=m({},r,{a_impression:a.text}):"assessment"===a.type&&"diagnosis"===a.subtype?r=m({},r,{a_diagnostic:a.text,a_diagnosticICD10:a.icd10,a_diagnosticProcedures:a.recommendedProcedures}):"care-plan"===a.type&&(r=m({},r,{p_carePlanNotes:a.text}))}}catch(u){s={error:u}}finally{try{o&&!o.done&&(c=i["return"])&&c.call(i)}finally{if(s)throw s.error}}return r}return undefined;var s,c},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),N=function(){function e(e){this.sdk=e}return e.prototype.loadCurrentMonthSelfAttendance=function(o,a,s){return v(this,void 0,void 0,function(){var t,n,r,i;return h(this,function(e){switch(e.label){case 0:return t={type:"attendance",organization:o,uid:a,$populate:{member:{key:"uid",service:"org-members",method:"findOne",idField:"uid"}}},s&&s.start&&s.end&&((n=new Date(s.start)).setHours(0,0,0,0),(r=new Date(s.end)).setHours(23,59,59,0),t=m({},t,{startAt:{$lte:r,$gte:n},$dateFields:["startAt.$gte","startAt.$lte"]})),[4,this.sdk.clocks().find(t)];case 1:return i=e.sent(),[2,i.items.map(function(e){return m({},f.omit(e,["$populated"]),{_member:e.$populated.member})})]}})})},e.prototype.loadCurrentMonthStaffAttendance=function(o,a){return v(this,void 0,void 0,function(){var t,n,r,i;return h(this,function(e){switch(e.label){case 0:return t={type:"attendance",organization:o,$populate:{member:{key:"uid",service:"org-members",method:"findOne",idField:"uid"}}},a&&a.start&&a.end&&((n=new Date(a.start)).setHours(0,0,0,0),(r=new Date(a.end)).setHours(23,59,59,0),t=m({},t,{startAt:{$lte:r,$gte:n},$dateFields:["startAt.$gte","startAt.$lte"]})),[4,this.sdk.clocks().find(t)];case 1:return i=e.sent(),[2,i.items.map(function(e){return m({},f.omit(e,["$populated"]),{_member:e.$populated.member})})]}})})},e.prototype.loadCurrentMonthClinicAttendance=function(i,o){return v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:return t={type:"opening",organization:i},o&&o.start&&o.end&&((n=new Date(o.start)).setHours(0,0,0,0),(r=new Date(o.end)).setHours(23,59,59,0),t=m({},t,{startAt:{$lte:r,$gte:n},$dateFields:["startAt.$gte","startAt.$lte"]})),[4,this.sdk.clocks().find(t)];case 1:return[2,e.sent().items]}})})},e.prototype.loadStaffAttendance=function(e,t){var n={type:"attendance",organization:e,uid:t};return this.sdk.clocks().find(n)},e.prototype.loadStaffTodayAttendance=function(o,a){return v(this,void 0,void 0,function(){var t,n,r,i;return h(this,function(e){switch(e.label){case 0:return t={type:"attendance",organization:o,uid:a},(n=new Date).setHours(0,0,0,0),(r=new Date).setHours(23,59,59,0),t=m({},t,{startAt:{$lte:r,$gte:n},$dateFields:["startAt.$gte","startAt.$lte"]}),[4,this.sdk.clocks().findOne(t)];case 1:return[2,{status:(i=e.sent())?"in":"out",id:(i||{}).id}]}})})},e.prototype.loadStaffLastAttendance=function(r,i){return v(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return t={type:"attendance",organization:r,uid:i,endAt:{$exists:!1}},[4,this.sdk.clocks().findOne(t)];case 1:return[2,{status:(n=e.sent())?"in":"out",id:(n||{}).id}]}})})},e.prototype.createStaffAttendance=function(o,a){return v(this,void 0,void 0,function(){var t,n,r,i;return h(this,function(e){switch(e.label){case 0:return t={type:"attendance",uid:a,organization:o,endAt:{$exists:!1}},[4,this.sdk.clocks().findOne(t)];case 1:return n=e.sent(),r={end:!0},i={type:"attendance",organization:o},[2,n?this.sdk.clocks().update(n.id,r):this.sdk.clocks().create(i)]}})})},e.prototype.loadClinicAttendance=function(e){var t={type:"opening",organization:e,endAt:{$exists:!1}};return this.sdk.clocks().findOne(t)},e.prototype.createClinicAttendance=function(i,o){return void 0===o&&(o=!1),v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:return t={type:"opening",organization:i,endAt:{$exists:!1}},[4,this.sdk.clocks().findOne(t)];case 1:return(n=e.sent())?[4,this.closeClinic(i,n.id,o)]:[3,3];case 2:return e.sent(),[3,5];case 3:return r={type:"opening",organization:i},[4,this.sdk.clocks().create(r)];case 4:e.sent(),e.label=5;case 5:return[2]}})})},e.prototype.closeClinic=function(u,d,p){return void 0===p&&(p=!1),v(this,void 0,void 0,function(){var t,n,r,i,o,a,s,c;return h(this,function(e){switch(e.label){case 0:return e.trys.push([0,7,,8]),t={$active:!0,facility:u},[4,this.sdk.mf.encounters().find(t)];case 1:if(0!=(n=e.sent()).items.length&&!p)throw new Error("Has pending encounters");return 0!=n.items.length&&p?(r=n.items.map(function(e){return e.id}),i={finish:!0,force:!0,save:!0},[4,this.sdk.mf.encounters().update({id:{$in:r}},i)]):[3,3];case 2:e.sent(),e.label=3;case 3:return o={organization:u},[4,this.sdk.queue.items().remove(o)];case 4:return e.sent(),a={queue_lastNumber:0},[4,this.sdk.organizations().update(u,a)];case 5:return e.sent(),s={end:!0},[4,this.sdk.clocks().update(d,s)];case 6:return e.sent(),[3,8];case 7:throw c=e.sent(),new Error(c);case 8:return[2]}})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),j=function(){function e(e){this.sdk=e}return e.prototype.loadLabTests=function(e){var t={facility:e};return this.sdk.lis.tests().find(t)},e.prototype.loadLabTest=function(e){return this.sdk.lis.tests().get(e)},e.prototype.loadLabTestMeasures=function(e){var t={test:e};return this.sdk.lis.measures().find(t)},e.prototype.createLabTest=function(e){var t=f.pick(e,["name","description","section","facility","hl7IdentifierCod","hl7IdentifierSys"]);return this.sdk.lis.tests().create(t)},e.prototype.updateLabTest=function(e,t){var n=f.pick(t,["name","description","section","hl7IdentifierCod","hl7IdentifierSys"]);return this.sdk.lis.tests().update(e,n)},e.prototype.removeLabTest=function(e){return this.sdk.lis.tests().remove(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),z=function(){function e(e){this.sdk=e}return e.prototype.loadPendingOrders=function(r){return v(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return t={patient:r,$pending:!0,$populate:{tests:{service:"lis-tests",key:"tests"}}},[4,this.sdk.lis.orders().find(t)];case 1:return(n=e.sent()).items=n.items.map(function(e){return m({},f.omit(e,["$populated"]),{_tests:e.$populated.tests||[]})}),[2,n]}})})},e.prototype.updateOrderSpecimen=function(e,t){var n={specimen:t};return this.sdk.lis.orders().update(e,n)},e.prototype.loadOrders=function(o,a,s){return void 0===s&&(s=undefined),v(this,void 0,void 0,function(){var t,n,r,i;return h(this,function(e){switch(e.label){case 0:return t={facility:o,$sort:{createdAt:-1},$populate:{tests:{service:"lis-tests",key:"tests"}}},"completed"==a?t=m({},t,{completedAt:{$exists:!0},verifiedAt:{$exists:!1},finalizedAt:{$exists:!1},sentOutAt:{$exists:!1}}):"finalized"==a?t=m({},t,{completedAt:{$exists:!0},finalizedAt:{$exists:!0},verifiedAt:{$exists:!0},sentOutAt:{$exists:!1}}):"verified"==a?t=m({},t,{completedAt:{$exists:!0},verifiedAt:{$exists:!0},finalizedAt:{$exists:!1},sentOutAt:{$exists:!1}}):"sendout"==a?t=m({},t,{sentOutAt:{$exists:!0}}):"pending"==a&&(t.$pending=!0),s&&s.start&&s.end&&((n=new Date(s.start)).setHours(0,0,0,0),(r=new Date(s.end)).setHours(23,59,59,0),t=m({},t,{createdAt:{$lte:r,$gte:n},$dateFields:["createdAt.$gte","createdAt.$lte"]})),[4,this.sdk.lis.orders().find(t)];case 1:return(i=e.sent()).items=i.items.map(function(e){var t=(e.$populated.tests||[]).map(function(e){return e.name})||[];return m({},f.omit(e,["$populated"]),{_testsNames:t.join(", ")})}),[2,i]}})})},e.prototype.loadOrder=function(r){return v(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return t={id:r,$populate:{tests:{service:"lis-tests",key:"tests",$populate:{measures:{service:"lis-measures",key:"id",method:"find",idField:"test"}}}}},[4,this.sdk.lis.orders().findOne(t)];case 1:if(!(n=e.sent())&&!n.order)throw new Error("no records");return(n=m({},f.omit(n,["$populated"]),{_tests:n.$populated.tests}))._tests&&(n._tests=n._tests.map(function(e){return m({},f.omit(e,["$populated"]),{_measures:e.$populated.measures})})),[2,n]}})})},e.prototype.createResult=function(i,o,a){return void 0===o&&(o=undefined),void 0===a&&(a=undefined),v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:if(!i.id)throw new Error("no order found");return i.results&&0!=i.results.length?(t=i.results.map(function(e){return e.id}),n={$pull:{results:{id:{$in:t}}}},[4,this.sdk.lis.orders().update(i.id,n)]):[3,2];case 1:e.sent(),e.label=2;case 2:return r=f.pick(f.pickBy(i,f.identity),["method","specimen","remarks","technician","pathologist"]),i._results&&0!=i._results.length&&(r=m({},r,{$addToSet:{results:{$each:i._results}}})),o&&("finalize"==o&&(r.finalize=!0),"sendout"==o&&(r.sendOut=!0),"complete"==o&&(r.complete=!0),"verify"==o&&(r.verify=!0)),a?[2,this.sdk.lis.orders().update(i.id,r,{accessToken:a})]:[2,this.sdk.lis.orders().update(i.id,r)]}})})},e.prototype.removeOrder=function(e){return this.sdk.lis.orders().remove(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),B=function(){function e(e){this.sdk=e}return e.prototype.loadMeasure=function(e){return this.sdk.lis.measures().get(e)},e.prototype.createMeasure=function(e){var t=f.pick(e,["name","set","type","description","unit","test","hl7IdentifierCod","hl7IdentifierSys"]);return this.sdk.lis.measures().create(t)},e.prototype.updateMeasure=function(e,t){var n=f.pick(t,["name","set","type","description","unit","hl7IdentifierCod","hl7IdentifierSys"]);return this.sdk.lis.measures().update(e,n)},e.prototype.removeMeasure=function(e){return this.sdk.lis.measures().remove(e)},e.prototype.removeRefValueOfMeasure=function(e,t){var n={$pull:{referenceRanges:{id:t.id}}};return this.sdk.lis.measures().update(e,n)},e.prototype.createRefValueOfMeasure=function(e,t){var n={$addToSet:{referenceRanges:f.pick(t,["min","max","ageMin","ageMax","sex"])}};return this.sdk.lis.measures().update(e,n)},e.prototype.updateRefValueOfMeasure=function(i,o){return v(this,void 0,void 0,function(){var t,n,r;return h(this,function(e){switch(e.label){case 0:return t=f.pick(o,["min","max","ageMin","ageMax","sex"]),o.id?(n={$pull:{referenceRanges:{id:o.id}}},[4,this.sdk.lis.measures().update(i,n)]):[3,2];case 1:e.sent(),e.label=2;case 2:return r={$addToSet:{referenceRanges:t}},[2,this.sdk.lis.measures().update(i,r)]}})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),F=function(){function e(e){this.sdk=e}return e.prototype.loadMessages$=function(t){return v(this,void 0,void 0,function(){return h(this,function(e){switch(e.label){case 0:return[4,this.sdk.chat.messages().find(t).watch()];case 1:return e.sent(),[2]}})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}();function q(e,t){var n,r,i=0;if(e.coverages&&0<e.coverages.length){var o=e.coverages.findIndex(function(e){return"override"===e.type});if(-1<o&&e.coverages[o].amount)i=e.coverages[o].amount;else try{for(var a=y(e.coverages),s=a.next();!s.done;s=a.next()){var c=s.value;c.type&&"deduction"===c.type&&(c.amount?i=+i+ +c.amount:c.percentage&&(i=+i+ +c.percentage/100*e.price))}}catch(d){n={error:d}}finally{try{s&&!s.done&&(r=a["return"])&&r.call(a)}finally{if(n)throw n.error}}}if(t&&e&&e.tax){var u=e.tax/100;i=+i+(i<0?0:+i*u)}return i}function L(e,t,n){var r,i,o=0;if(e.coverages&&0<e.coverages.length){var a=e.coverages.findIndex(function(e){return(e.contract===t||e.refContract===t)&&"override"===e.type});if(-1<a&&e.coverages[a].amount)o=e.coverages[a].amount;else try{for(var s=y(e.coverages),c=s.next();!c.done;c=s.next()){var u=c.value;u.contract!==t&&u.refContract!==t||!u.type||"deduction"!==u.type||(u.amount?o=+o+ +u.amount:u.percentage&&(o=+o+ +u.percentage/100*e.price))}}catch(p){r={error:p}}finally{try{c&&!c.done&&(i=s["return"])&&i.call(s)}finally{if(r)throw r.error}}}if(n&&e&&e.tax){var d=e.tax/100;o=+o+(o<0?0:+o*d)}return o}function H(e,t,n,r){var i,o,a=0;if(e.coverages&&0<e.coverages.length){var s=[];"insurance"===t?n&&(s=e.coverages.filter(function(e){return e.insurerType===t&&e.insurerSubtype===n})):"corporate-partner"===t&&(s=e.coverages.filter(function(e){return e.insurerType===t}));var c=s.findIndex(function(e){return"override"===e.type});if(-1<c&&s[c].amount)a=s[c].amount;else try{for(var u=y(s),d=u.next();!d.done;d=u.next()){var p=d.value;p.type&&"deduction"===p.type&&(p.amount?a=+a+ +p.amount:p.percentage&&(a=+a+ +p.percentage/100*e.price))}}catch(f){i={error:f}}finally{try{d&&!d.done&&(o=u["return"])&&o.call(u)}finally{if(i)throw i.error}}}if(r&&e&&e.tax){var l=e.tax/100;a=+a+(a<0?0:+a*l)}return a}function K(e,t){var n,r,i=0,o=e.coverages?e.coverages.findIndex(function(e){return e.contract===t||e.refContract===t}):-1;if(-1<o){var a=e.coverages[o];if(e&&e._payments&&0<e._payments.length)try{for(var s=y(e._payments),c=s.next();!c.done;c=s.next()){var u=c.value;"insurance-coverage"!==u.type&&"corporate-partner-coverage"!==u.type||u.coverage!==a.id||(i+=u.amount)}}catch(d){n={error:d}}finally{try{c&&!c.done&&(r=s["return"])&&r.call(s)}finally{if(n)throw n.error}}}return i}function U(e,t,n){var r,i,o,a,s=0;if(e.coverages){var c=[];"insurance"===t?n&&(c=e.coverages.filter(function(e){return e.insurerType===t&&e.insurerSubtype===n})):"corporate-partner"===t&&(c=e.coverages.filter(function(e){return e.insurerType===t}));try{for(var u=y(c),d=u.next();!d.done;d=u.next()){var p=d.value;if(e&&e._payments&&0<e._payments.length)try{for(var l=y(e._payments),f=l.next();!f.done;f=l.next()){var m=f.value;"insurance-coverage"!==m.type&&"corporate-partner-coverage"!==m.type||m.coverage!==p.id||(s+=m.amount)}}catch(v){o={error:v}}finally{try{f&&!f.done&&(a=l["return"])&&a.call(l)}finally{if(o)throw o.error}}}}catch(h){r={error:h}}finally{try{d&&!d.done&&(i=u["return"])&&i.call(u)}finally{if(r)throw r.error}}}return s}function W(e,t){var n,r,i=0;if(e.coverages&&0<e.coverages.length)try{for(var o=y(e.coverages),a=o.next();!a.done;a=o.next()){var s=a.value;s.type&&"deduction"===s.type&&(s.amount?i=+i+ +s.amount:s.percentage&&(i=+i+ +s.percentage/100*e.price))}}catch(u){n={error:u}}finally{try{a&&!a.done&&(r=o["return"])&&r.call(o)}finally{if(n)throw n.error}}if(t&&e&&e.tax){var c=e.tax/100;i=+i+(i<0?0:+i*c)}return i}function Y(e,t){var n,r,i=0;if(e&&0<e.length)try{for(var o=y(e),a=o.next();!a.done;a=o.next()){var s=a.value;if(s){var c=q(s);if(i+=c<0?0:+c,t&&s.tax){var u=s.tax/100;s.taxCode;i+=(c<0?0:+c)*u}}}}catch(d){n={error:d}}finally{try{a&&!a.done&&(r=o["return"])&&r.call(o)}finally{if(n)throw n.error}}return i}function V(e,t){var n,r,i,o,a=0;if(e&&0<e.length)try{for(var s=y(e),c=s.next();!c.done;c=s.next()){var u=c.value;if(u&&u._payments&&0<u._payments.length){var d=function(t){("insurance-coverage"===t.type||"corporate-partner-coverage"===t.type)&&t.coverage&&u.coverages&&-1<u.coverages.findIndex(function(e){return e.id===t.coverage})&&(a+=t.amount)};try{for(var p=y(u._payments),l=p.next();!l.done;l=p.next()){d(l.value)}}catch(f){i={error:f}}finally{try{l&&!l.done&&(o=p["return"])&&o.call(p)}finally{if(i)throw i.error}}}}}catch(m){n={error:m}}finally{try{c&&!c.done&&(r=s["return"])&&r.call(s)}finally{if(n)throw n.error}}return a}function G(e,t){return Y(e,t)-V(e)}function Q(e,t,n){var r,i,o=0;if(e&&0<e.length)try{for(var a=y(e),s=a.next();!s.done;s=a.next()){var c=s.value;if(c){var u=L(c,t);if(o+=u<0?0:+u,n&&c.tax){var d=c.tax/100;c.taxCode;o+=(u<0?0:+u)*d}}}}catch(p){r={error:p}}finally{try{s&&!s.done&&(i=a["return"])&&i.call(a)}finally{if(r)throw r.error}}return o}function X(e,t){var n,r,i,o,a=0;if(e&&0<e.length)try{for(var s=y(e),c=s.next();!c.done;c=s.next()){var u=c.value,d=u.coverages?u.coverages.findIndex(function(e){return e.contract===t||e.refContract===t}):-1;if(-1<d){var p=u.coverages[d];if(u&&u._payments&&0<u._payments.length)try{for(var l=y(u._payments),f=l.next();!f.done;f=l.next()){var m=f.value;"insurance-coverage"!==m.type&&"corporate-partner-coverage"!==m.type||m.coverage!==p.id||(a+=m.amount)}}catch(v){i={error:v}}finally{try{f&&!f.done&&(o=l["return"])&&o.call(l)}finally{if(i)throw i.error}}}}}catch(h){n={error:h}}finally{try{c&&!c.done&&(r=s["return"])&&r.call(s)}finally{if(n)throw n.error}}return a}function J(e,t,n){return Q(e,t,n)-X(e,t)}function Z(e,t){var n,r,i=e.price;if(e.quantity&&(i*=e.quantity),e.coverages&&0<e.coverages.length){var o=e.coverages.findIndex(function(e){return"override"===e.type});-1<o&&e.coverages[o].amount&&(i=e.coverages[o].amount)}else if(e.discount){var a=e.discount/100;i-=i<0?0:i*a}else if(e.discounts){var s=0;try{for(var c=y(e.discounts),u=c.next();!u.done;u=c.next()){(a=u.value).amount&&0<a.amount?s+=a.amount:a.percentage&&0<a.percentage&&(s+=a.percentage/100*i)}}catch(p){n={error:p}}finally{try{u&&!u.done&&(r=c["return"])&&r.call(c)}finally{if(n)throw n.error}}i-=s}if(t&&e&&e.tax){var d=e.tax/100;i=+i+(i<0?0:+i*d)}return i}function ee(e,t){var n,r,i=e.price;if(e.quantity&&(i*=e.quantity),e.coverages&&0<e.coverages.length){var o=e.coverages.findIndex(function(e){return"override"===e.type});i=-1<o&&e.coverages[o].amount?0:(i=+i-+ae(e))<0?0:i}else if(e.discount){var a=e.discount/100;i-=i<0?0:i*a}else if(e.discounts){var s=0;try{for(var c=y(e.discounts),u=c.next();!u.done;u=c.next()){(a=u.value).amount&&0<a.amount?s+=a.amount:a.percentage&&0<a.percentage&&(s+=a.percentage/100*i)}}catch(p){n={error:p}}finally{try{u&&!u.done&&(r=c["return"])&&r.call(c)}finally{if(n)throw n.error}}i-=s}if(t&&e&&e.tax){var d=e.tax/100;i=+i+(i<0?0:+i*d)}return i}function te(e){var t,n,r=0;if(e&&e._payments&&0<e._payments.length)try{for(var i=y(e._payments),o=i.next();!o.done;o=i.next()){var a=o.value;"private"===a.type&&(r+=a.amount)}}catch(s){t={error:s}}finally{try{o&&!o.done&&(n=i["return"])&&n.call(i)}finally{if(t)throw t.error}}return r}function ne(e){return ee(e)-te(e)}function re(e,t){return q(e,t)}function ie(e,t,n){return L(e,t,n)}function oe(e,t,n,r){return H(e,t,n,r)}function ae(e,t){return W(e,t)}function se(e,a){var t,n,s=[];if(e&&0<e.length){var r=function(t){if(t&&t.tax){var e=Number(Z(t)),n=t.tax/100,r=t.taxCode,i=a?e*n:e/(1+n)*n,o=0<s.length?s.findIndex(function(e){return e.code===r&&e.tax===t.tax}):-1;-1<o?s[o].value=s[o].value+i:s.push({code:r,value:i,tax:t.tax})}};try{for(var i=y(e),o=i.next();!o.done;o=i.next()){r(o.value)}}catch(c){t={error:c}}finally{try{o&&!o.done&&(n=i["return"])&&n.call(i)}finally{if(t)throw t.error}}}return s}function ce(e){return m({},e,{totalPrice:Z(e),resolvedPrice:ee(e),paid:te(e),balance:ne(e)})}function ue(e){return e?e.map(function(e){return m({},e,{totalPrice:Z(e),resolvedPrice:ee(e),paid:te(e),balance:ne(e)})}):[]}function de(e,t){var n,r,i,o,a=0;if(e&&0<e.length)try{for(var s=y(e),c=s.next();!c.done;c=s.next()){var u=c.value;if(u)a+=Z(u)}}catch(m){n={error:m}}finally{try{c&&!c.done&&(r=s["return"])&&r.call(s)}finally{if(n)throw n.error}}if(t){var d=se(e,t),p=a;try{for(var l=y(d),f=l.next();!f.done;f=l.next()){p+=f.value.value}}catch(v){i={error:v}}finally{try{f&&!f.done&&(o=l["return"])&&o.call(l)}finally{if(i)throw i.error}}return p}return a}function pe(e,t){var n,r,i=0;if(e&&0<e.length)try{for(var o=y(e),a=o.next();!a.done;a=o.next()){var s=a.value;if(s){var c=ee(s);if(i+=c<0?0:+c,t&&s.tax){var u=s.tax/100;s.taxCode;i+=(c<0?0:+c)*u}}}}catch(d){n={error:d}}finally{try{a&&!a.done&&(r=o["return"])&&r.call(o)}finally{if(n)throw n.error}}return i}function le(e){var t,n,r,i,o=0;if(e&&0<e.length)try{for(var a=y(e),s=a.next();!s.done;s=a.next()){var c=s.value;if(c&&c._payments&&0<c._payments.length)try{for(var u=y(c._payments),d=u.next();!d.done;d=u.next()){var p=d.value;"private"===p.type&&(o+=p.amount)}}catch(l){r={error:l}}finally{try{d&&!d.done&&(i=u["return"])&&i.call(u)}finally{if(r)throw r.error}}}}catch(f){t={error:f}}finally{try{s&&!s.done&&(n=a["return"])&&n.call(a)}finally{if(t)throw t.error}}return o}function fe(i,o){var a={insurer:undefined,insurerType:undefined,insurerSubtype:undefined,name:"Patient",billingItems:[]};if(i&&0<i.length)for(var e=function(e){var t=i[e];if((!t.coverages||t.coverages.length<1||t.coverages&&-1===t.coverages.findIndex(function(e){return"override"===e.type}))&&0<ee(t,o)){var n=0,r=t._payments?t._payments.filter(function(e){return"private"===e.type}):[];r.map(function(e){return n+=e.amount,e}),a.billingItems.push({id:i[e].id,index:e,coverageId:undefined,coverageIndex:undefined,billingItem:t,charge:ee(t,o),amount:n,payments:r})}},t=0;t<i.length;t++)e(t);return a}function me(s,c){var u=[];if(s&&0<s.length)for(var d=0;d<s.length;d++){var p=s[d];if(p.coverages&&0<p.coverages.length)for(var e=function(e){var t=p.coverages[e],n=u.findIndex(function(e){return e.insurer===t.insurer});if(0<re(s[d],c)){var r=t.amount?+t.amount:t.percentage?+t.percentage/100*+s[d].price:0;if(c&&s[d].tax){var i=s[d].tax/100;r=+r+(r<0?0:+r*i)}var o=0,a=s[d]._payments?s[d]._payments.filter(function(e){return e.coverage&&t.id===e.coverage}):[];a.map(function(e){return o+=e.amount,e}),-1===n?u.push({insurer:t.insurer,insurerType:t.insurerType,insurerSubtype:t.insurerSubtype,name:t._insurerName,billingItems:[{id:s[d].id,coverageId:t.id,coverageIndex:e,index:d,billingItem:p,charge:r,amount:o,payments:a}]}):u[n].billingItems.push({id:s[d].id,coverageId:t.id,coverageIndex:e,index:d,billingItem:p,charge:r,amount:o,payments:a})}},t=0;t<p.coverages.length;t++)e(t)}return u}var ve=new I("@mycure/mc-services"),he=function(){function e(e){this.sdk=e}return e.prototype.loadBillingItemById=function(e){var t=this;return this.sdk.billing.items().findOne({id:e,$populate:{_service:{service:"mf-services",key:"ref"},_variant:{service:"wh-variants",key:"ref"},_payments:{service:"billing-payments",key:"id",method:"find",idField:"item"}}}).then(function(e){return m({},f.omit(e,["$populated"]),{_service:e.$populated._service,_variant:e.$populated._variant,_payments:e.$populated._payments})}).then(function(e){return t.loadBillingItemCoverages(e)}).then(function(e){return t.loadBillingItemServiceCoverages(e)}).then(function(e){return ce(e)})},e.prototype.loadBillingItemCoverages=function(e){return e.coverages?this.sdk.insurance.coverages().find({id:{$in:e.coverages.map(function(e){return e.id})},$populate:{_orgDetails:{service:"organizations",key:"insurer"},_contractDetails:{service:"insurance-contracts",key:"insurer"}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return m({},f.omit(e,["$populated"]),{_orgDetails:e.$populated._orgDetails,_contractDetails:e.$populated._contractDetails})})}).then(function(e){return e.map(function(e){var t=e._orgDetails&&e._orgDetails.name?e._orgDetails.name:e._contractDetails&&e._contractDetails.insurerName?e._contractDetails.insurerName:"";return m({},f.omit(e,["_orgDetails","_contractDetails"]),{_insurerName:t})})}).then(function(e){return e.map(function(e){return f.omit(e,["amount","type","percentage"])})}).then(function(n){return e.coverages=e.coverages.map(function(t){var e=n.findIndex(function(e){return t.id===e.id});return-1<e&&(t=m({},t,n[e],{id:t.id})),t}),e}).then(function(e){return f.omit(e,["_coverages"])}):Promise.resolve(e)},e.prototype.loadBillingItemServiceCoverages=function(t){return t._service&&t._service.coverages?this.sdk.insurance.coverages().find({id:{$in:t._service.coverages},$populate:{_orgDetails:{service:"organizations",key:"insurer"},_contractDetails:{service:"insurance-contracts",key:"insurer"}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return m({},f.omit(e,["$populated"]),{_orgDetails:e.$populated._orgDetails,_contractDetails:e.$populated._contractDetails})})}).then(function(e){return e.map(function(e){var t=e._orgDetails&&e._orgDetails.name?e._orgDetails.name:undefined,n=e._contractDetails&&e._contractDetails.insurerName?e._contractDetails.insurerName:"";return m({},f.omit(e,["_orgDetails","_contractDetails"]),{_details:t?{name:t}:undefined,insurerName:n})})}).then(function(e){return t._service.coverages=e,t}):Promise.resolve(t)},e.prototype.loadInvoiceById=function(e,n){var r=this;return this.sdk.billing.invoices().findOne({id:e,$populate:{_encounter:{service:"mf-encounters",key:"id",$populate:{_patient:{service:"personal-details",key:"patient"}}},_transaction:{service:"wh-transactions",key:"id",$populate:{_patient:{service:"personal-details",key:"customer"}}}}}).then(function(t){return t?r.sdk.billing.items().find({invoice:e,facility:n,$populate:{_service:{service:"mf-services",key:"ref"},_variant:{service:"wh-variants",key:"ref"},_payments:{service:"billing-payments",key:"id",method:"find",idField:"item"}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return m({},f.omit(e,["$populated"]),{_service:e.$populated._service,_variant:e.$populated._variant,_payments:e.$populated._payments})})}).then(function(e){return r.loadBillingItemsCoverages(e)}).then(function(e){return r.loadBillingItemsServiceCoverages(e)}).then(function(e){return ue(e)}).then(function(e){return m({},t,{_billingItems:e})}):Promise.resolve(t)}).then(function(e){return e?(e._encounter=m({},e.$populated._encounter,{_patient:e.$populated._encounter?e.$populated._encounter.$populated._patient:{}}),e._transaction=m({},e.$populated._transaction,{_patient:e.$populated._transaction?e.$populated._transaction.$populated._patient:{}}),m({},f.omit(e,["$populated"]))):undefined})},e.prototype.loadBillingItemsCoverages=function(e){var t=this;return e=e||[],Promise.all(e.map(function(e){return e.coverages?t.sdk.insurance.coverages().find({id:{$in:e.coverages.map(function(e){return e.id})},$populate:{_orgDetails:{service:"organizations",key:"insurer"},_contractDetails:{service:"insurance-contracts",key:"insurer"}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return m({},f.omit(e,["$populated"]),{_orgDetails:e.$populated._orgDetails,_contractDetails:e.$populated._contractDetails})})}).then(function(e){return e.map(function(e){var t=e._orgDetails&&e._orgDetails.name?e._orgDetails.name:e._contractDetails&&e._contractDetails.insurerName?e._contractDetails.insurerName:"";return m({},f.omit(e,["_orgDetails","_contractDetails"]),{_insurerName:t})})}).then(function(e){return e.map(function(e){return f.omit(e,["amount","type","percentage"])})}).then(function(n){return e.coverages=e.coverages.map(function(t){var e=n.findIndex(function(e){return t.id===e.id});return-1<e&&(t=m({},t,n[e],{id:t.id})),t}),e}).then(function(e){return f.omit(e,["_coverages"])}):Promise.resolve(e)}))},e.prototype.loadBillingItemsServiceCoverages=function(e){var n=this;return Promise.all(e.map(function(t){return t._service&&t._service.coverages?n.sdk.insurance.coverages().find({id:{$in:t._service.coverages},$populate:{_orgDetails:{service:"organizations",key:"insurer"},_contractDetails:{service:"insurance-contracts",key:"insurer"}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return m({},f.omit(e,["$populated"]),{_orgDetails:e.$populated._orgDetails,_contractDetails:e.$populated._contractDetails})})}).then(function(e){return e.map(function(e){var t=e._orgDetails&&e._orgDetails.name?e._orgDetails.name:undefined,n=e._contractDetails&&e._contractDetails.insurerName?e._contractDetails.insurerName:"";return m({},f.omit(e,["_orgDetails","_contractDetails"]),{_details:t?{name:t}:undefined,insurerName:n})})}).then(function(e){return t._service.coverages=e,t}):Promise.resolve(t)}))},e.prototype.loadBillingItemsPaymentsPromise=function(t){var e={item:{$in:t.map(function(e){return e.id})}};return this.sdk.billing.payments().find(e).then(function(e){return e.items}).then(function(e){return t.map(function(t){return t._payments=e.filter(function(e){return e.item===t.id}),t})})},e.prototype.updateInvoiceById=function(e,t,n,r,i,o){var a=this;return o?this.updateAllBillingItemsPromise(n._billingItems?n._billingItems:[],i,o):this.sdk.billing.invoices().update(t,f.pick(r,["taxComplication","notes"])).then(function(t){return a.updateAllBillingItemsPromise(n._billingItems?n._billingItems:[],i,o).then(function(e){return t})})},e.prototype.updateAllBillingItemsPromise=function(n,e,t){var r=this,i=n.filter(function(t){return-1===e.findIndex(function(e){return t.id===e.id})}),o=e.filter(function(t){return!t.id||-1===n.findIndex(function(e){return t.id===e.id})}),a=e.filter(function(t){return-1<n.findIndex(function(e){return t.id===e.id})});return t?this.updateAllBillingPayments(n,a):this.removeBillingItemsPromise(i).then(function(e){return r.addBillingItemsPromise(o)}).then(function(e){return r.updateBillingItemsPromise(n,a)}).then(function(e){return r.updateAllBillingPayments(n,a)})},e.prototype.removeBillingItemsPromise=function(e){return e&&0<e.length?this.sdk.billing.items().remove({id:{$in:e.map(function(e){return e.id})}}):Promise.resolve([])},e.prototype.addBillingItemsPromise=function(e){return e&&0<e.length?this.sdk.billing.items().create(e.map(function(e){return f.pick(e,["parent","invoice","ref","refType","refSubtype","providers","name","description","quantity","priceCurrency","price","commissions","coverages","discounts","discountsNext","tax","taxCode"])})):Promise.resolve([])},e.prototype.updateBillingItemsPromise=function(n,e){var r=this;return e&&0<e.length?Promise.all(e.map(function(e){return r.sdk.billing.items().update(e.id,f.pick(e,["ref","refType","refSubtype","name","description","quantity","priceCurrency","price","tax","taxCode"])).then(function(t){return r.updateBillingItemCoverages(n,e).then(function(e){return t})}).then(function(t){return r.updateBillingItemDiscounts(n,e).then(function(e){return t})}).then(function(t){return r.updateBillingItemCommissions(n,e).then(function(e){return t})})})):Promise.resolve([])},e.prototype.updateBillingItemCoverages=function(e,t){var n=this,r=e.findIndex(function(e){return e.id===t.id});return-1<r&&e[r]&&e[r].coverages&&0<e[r].coverages.length?this.sdk.billing.items().update(t.id,{$pull:{coverages:{id:{$in:e[r].coverages.map(function(e){return e.id})}}}}).then(function(e){return t.coverages&&0<t.coverages.length?n.sdk.billing.items().update(t.id,{$addToSet:{coverages:{$each:t.coverages}}}):Promise.resolve(e)}):t.coverages&&0<t.coverages.length?this.sdk.billing.items().update(t.id,{$addToSet:{coverages:{$each:t.coverages}}}):Promise.resolve()},e.prototype.updateBillingItemDiscounts=function(e,t){var n=this,r=e.findIndex(function(e){return e.id===t.id});return-1<r&&e[r]&&e[r].discounts&&0<e[r].discounts.length?this.sdk.billing.items().update(t.id,{$pull:{discounts:{id:{$in:e[r].discounts.map(function(e){return e.id})}}}}).then(function(e){return t.discounts&&0<t.discounts.length?n.sdk.billing.items().update(t.id,{$addToSet:{discounts:{$each:t.discounts}}}):Promise.resolve(e)}):t.discounts&&0<t.discounts.length?this.sdk.billing.items().update(t.id,{$addToSet:{discounts:{$each:t.discounts}}}):Promise.resolve()},e.prototype.updateBillingItemCommissions=function(e,t){var n=this,r=e.findIndex(function(e){return e.id===t.id});return-1<r&&e[r]&&e[r].commissions&&0<e[r].commissions.length?this.sdk.billing.items().update(t.id,{$pull:{commissions:{id:{$in:e[r].commissions.map(function(e){return e.id})}}}}).then(function(e){return t.commissions&&0<t.commissions.length?n.sdk.billing.items().update(t.id,{$addToSet:{commissions:{$each:t.commissions}}}):Promise.resolve(e)}):t.commissions&&0<t.commissions.length?this.sdk.billing.items().update(t.id,{$addToSet:{commissions:{$each:t.commissions}}}):Promise.resolve()},e.prototype.updateAllBillingPayments=function(s,e){var t,n,r=this,c=[],u=[],d=[],i=function(t){var e=s.findIndex(function(e){return e.id===t.id});if(-1<e){var n=t.payments?t.payments:[],r=s[e]._payments?s[e]._payments:[],i=r.filter(function(t){return-1===n.findIndex(function(e){return t.id===e.id})}),o=n.filter(function(t){return!t.id||-1===r.findIndex(function(e){return t.id===e.id})}),a=n.filter(function(t){return-1<r.findIndex(function(e){return t.id===e.id})});c=i?c.concat(i):c,u=o?u.concat(o):u,d=a?d.concat(a):d}};try{for(var o=y(e),a=o.next();!a.done;a=o.next()){i(a.value)}}catch(p){t={error:p}}finally{try{a&&!a.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}return this.removePaymentItemsPromise(c).then(function(e){return r.addPaymentItemsPromise(u)})},e.prototype.removePaymentItemsPromise=function(e){return e&&0<e.length?this.sdk.billing.payments().remove({id:{$in:e.map(function(e){return e.id})}}):Promise.resolve([])},e.prototype.addPaymentItemsPromise=function(e){return e&&0<e.length?this.sdk.billing.payments().create(e):Promise.resolve([])},e.prototype.updatePaymentItemsPromise=function(e){var t=this;return e&&0<e.length?Promise.all(e.map(function(e){return t.sdk.billing.payments().update(e.id,f.omit(e,["id","facility","createdAt"]))})):Promise.resolve([])},e.prototype.billingItemPaymentMethod=function(e,t){var n,r,i=[];if(0<ee(t,"exclusive"===e.taxComplication)&&i.push("PRIVATE"),t.coverages&&0<t.coverages.length)try{for(var o=y(t.coverages),a=o.next();!a.done;a=o.next()){var s=a.value;if(0<ie(t,s.contract,"exclusive"===e.taxComplication)){var c="hmo"===s.insurerSubtype?"HMO":"government"===s.insurerSubtype?"GOVT":"CORP";i.push(c+" - "+s._insurerName)}}}catch(u){n={error:u}}finally{try{a&&!a.done&&(r=o["return"])&&r.call(o)}finally{if(n)throw n.error}}return i.join(", ")},e.prototype.billingItemPaymentMethodDesc=function(e,t){var n,r,i=[];if(0<ee(t,"exclusive"===e.taxComplication)&&i.push({type:"PRIVATE",name:"PRIVATE"}),t.coverages&&0<t.coverages.length)try{for(var o=y(t.coverages),a=o.next();!a.done;a=o.next()){var s=a.value;if(0<ie(t,s.contract,"exclusive"===e.taxComplication)){var c="hmo"===s.insurerSubtype?"HMO":"government"===s.insurerSubtype?"GOVT":"CORP";i.push({type:c,name:s._insurerName})}}}catch(u){n={error:u}}finally{try{a&&!a.done&&(r=o["return"])&&r.call(o)}finally{if(n)throw n.error}}return i},e.prototype.loadDailyTransactionsByDateRange=function(e,t,n){var i=this;return this.sdk.organizations().get(e).then(function(r){return i.sdk.billing.invoices().find({facility:e,finalizedAt:{$gte:t,$lte:n},$dateFields:["finalizedAt.$gte","finalizedAt.$lte"],$populate:{_encounter:{service:"mf-encounters",key:"id",$populate:{_patient:{service:"mf-patients",key:"patient"}},_diagnosis:{service:"med-records",method:"find",foreignKey:"encounter",localKey:"id",type:"assessment",subtype:"diagnosis"}},_transaction:{service:"wh-transactions",key:"id",$populate:{_patient:{service:"mf-patients",key:"customer"}}},_billingItems:{service:"billing-items",key:"id",method:"find",idField:"invoice",$populate:{_service:{service:"mf-services",key:"ref"},_variant:{service:"wh-variants",key:"ref"},_payments:{service:"billing-payments",key:"id",method:"find",idField:"item"},_coverages:{service:"insurance-contracts",key:"coverages",extractKey:"contract"},_commissions:{service:"org-members",key:"commissions",extractKey:"provider",idField:"uid"}}}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return e._encounter=e.$populated._encounter?m({},f.omit(e.$populated._encounter,["$populated"]),{_patient:e.$populated._encounter.$populated._patient,_diagnosis:e.$populated._encounter.$populated._diagnosis}):{_patient:{}},e._transaction=e.$populated._transaction?m({},f.omit(e.$populated._transaction,["$populated"]),{_patient:e.$populated._transaction.$populated._patient}):{_patient:{}},e._billingItems=e.$populated._billingItems.map(function(e){return e._service=e.$populated._service,e._variant=e.$populated._variant,e._payments=e.$populated._payments,e._coverages=e.$populated._coverages,e._commissions=e.$populated._commissions,m({},f.omit(e,["$populated"]))}),m({},f.omit(e,["$populated"]))})}).then(function(e){return e.map(function(e){return e._billingItems=e._billingItems.map(function(n){return m({},n,{coverages:n.coverages.map(function(t){var e=n._coverages.findIndex(function(e){return t.contract===e.id});return-1<e&&(t._insurerName=n._coverages[e].insurerName),t}),commissions:n.commissions.map(function(t){var e=n._commissions.findIndex(function(e){return t.provider===e.id||t.provider===e.uid});return-1<e&&(t._providerName=n._commissions[e].name),t}),_payments:n._payments?n._payments.map(function(t){if(t.paymentMethod){var e=r&&r.bl_paymentMethods?r.bl_paymentMethods.findIndex(function(e){return e.code===t.paymentMethod}):-1;-1<e?t._paymentMethod=r.bl_paymentMethods[e]:"CSH"===t.paymentMethod&&(t._paymentMethod={code:"CSH",name:"Cash",type:"cash"})}return t}):[]})}),e})}).then(function(e){return e.map(function(t){return t._billingItems=t._billingItems.map(function(e){return m({},e,{paymentMethods:i.billingItemPaymentMethod(t,e),paymentMethodDesc:i.billingItemPaymentMethodDesc(t,e)})}),t})}).then(function(e){return ve.debug("loadDailyTransactionsByDateRange",e),e})})},e.prototype.loadCompaniesTransactions=function(e,t,n,i){var o=this;return this.sdk.organizations().get(e).then(function(r){return o.sdk.billing.invoices().find({facility:e,finalizedAt:{$gte:t,$lte:n},$dateFields:["finalizedAt.$gte","finalizedAt.$lte"],$prequery:[{service:"billing-items",query:{facility:e,"coverages.insurerType":"corporate-partner","coverages.contract":i||{$exists:!0}},extractKey:"invoice",resKey:"id",resOps:"$in"}],$populate:{_encounter:{service:"mf-encounters",key:"id",$populate:{_patient:{service:"mf-patients",key:"patient"},_diagnosis:{service:"med-records",method:"find",foreignKey:"encounter",localKey:"id",type:"assessment",subtype:"diagnosis"}}},_transaction:{service:"wh-transactions",key:"id",$populate:{_patient:{service:"mf-patients",key:"customer"}}},_billingItems:{service:"billing-items",key:"id",method:"find",idField:"invoice",$prequery:i?[{service:"billing-items",extractKey:"id",resKey:"id",resOps:"$in",query:{facility:e,"coverages.insurerType":"corporate-partner","coverages.contract":i||{$exists:!0}}}]:[{service:"billing-items",extractKey:"id",resKey:"id",resOps:"$in",query:{facility:e,"coverages.insurerType":"corporate-partner"}}],$populate:{_service:{service:"mf-services",key:"ref"},_variant:{service:"wh-variants",key:"ref"},_payments:{service:"billing-payments",key:"id",method:"find",idField:"item"},_coverages:{service:"insurance-contracts",key:"coverages",extractKey:"contract"},_commissions:{service:"org-members",key:"commissions",extractKey:"provider",idField:"uid"}}}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return e._encounter=e.$populated._encounter?m({},f.omit(e.$populated._encounter,["$populated"]),{_patient:e.$populated._encounter.$populated._patient,_diagnosis:e.$populated._encounter.$populated._diagnosis}):{_patient:{}},e._transaction=e.$populated._transaction?m({},f.omit(e.$populated._transaction,["$populated"]),{_patient:e.$populated._transaction.$populated._patient}):{_patient:{}},e._billingItems=e.$populated._billingItems.map(function(e){return e._service=e.$populated._service,e._variant=e.$populated._variant,e._payments=e.$populated._payments,e._coverages=e.$populated._coverages,e._commissions=e.$populated._commissions,m({},f.omit(e,["$populated"]))}),m({},f.omit(e,["$populated"]))})}).then(function(e){return e.map(function(e){return e._billingItems=e._billingItems.map(function(n){return m({},n,{coverages:n.coverages.map(function(t){var e=n._coverages.findIndex(function(e){return t.contract===e.id});return-1<e&&(t._insurerName=n._coverages[e].insurerName),t}),commissions:n.commissions.map(function(t){var e=n._commissions.findIndex(function(e){return t.provider===e.id||t.provider===e.uid});return-1<e&&(t._providerName=n._commissions[e].name),t}),_payments:n._payments?n._payments.map(function(t){if(t.paymentMethod){var e=r&&r.bl_paymentMethods?r.bl_paymentMethods.findIndex(function(e){return e.code===t.paymentMethod}):-1;-1<e?t._paymentMethod=r.bl_paymentMethods[e]:"CSH"===t.paymentMethod&&(t._paymentMethod={code:"CSH",name:"Cash",type:"cash"})}return t}):[]})}),e})}).then(function(e){return e.map(function(t){return t._billingItems=t._billingItems.map(function(e){return m({},e,{paymentMethods:o.billingItemPaymentMethod(t,e),paymentMethodDesc:o.billingItemPaymentMethodDesc(t,e)})}),t})}).then(function(e){return ve.debug("loadCompaniesTransactions",e),e})})},e.prototype.loadDoctorsTransactions=function(e,t,n,i){var o=this;return this.sdk.organizations().get(e).then(function(r){return o.sdk.billing.invoices().find({facility:e,finalizedAt:{$gte:t,$lte:n},$dateFields:["finalizedAt.$gte","finalizedAt.$lte"],type:"mf-encounter",$prequeryOr:[{service:"mf-encounters",extractKey:"id",resKey:"id",resOps:"$in",query:{facility:e,$or:[{doctor:i||{$exists:!0}},{doctors:i||{$exists:!0,$not:{$size:0}}},{createdBy:i||{$exists:!0}}]}},{service:"billing-items",extractKey:"invoice",resKey:"id",resOps:"$in",query:{facility:e,$or:[{"commissions.provider":i||{$exists:!0}},{providers:i||{$exists:!0,$not:{$size:0}}},{createdBy:i||{$exists:!0}}]}},{service:"med-records",extractKey:"encounter",resKey:"id",resOps:"$in",query:{facility:e,$or:[{providers:i||{$exists:!0,$not:{$size:0}}},{createdBy:i||{$exists:!0}}]}}],$populate:{_encounter:{service:"mf-encounters",key:"id",$populate:{_patient:{service:"mf-patients",key:"patient"},_diagnosis:{service:"med-records",method:"find",foreignKey:"encounter",localKey:"id",type:"assessment",subtype:"diagnosis"}}},_transaction:{service:"wh-transactions",key:"id",$populate:{_patient:{service:"mf-patients",key:"customer"}}},_billingItems:{service:"billing-items",key:"id",method:"find",idField:"invoice",$populate:{_service:{service:"mf-services",key:"ref"},_variant:{service:"wh-variants",key:"ref"},_payments:{service:"billing-payments",key:"id",method:"find",idField:"item"},_coverages:{service:"insurance-contracts",key:"coverages",extractKey:"contract"},_commissions:{service:"org-members",key:"commissions",extractKey:"provider",idField:"uid"}}}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return e._encounter=e.$populated._encounter?m({},f.omit(e.$populated._encounter,["$populated"]),{_patient:e.$populated._encounter.$populated._patient,_diagnosis:e.$populated._encounter.$populated._diagnosis}):{_patient:{}},e._transaction=e.$populated._transaction?m({},f.omit(e.$populated._transaction,["$populated"]),{_patient:e.$populated._transaction.$populated._patient}):{_patient:{}},e._billingItems=e.$populated._billingItems.map(function(e){return e._service=e.$populated._service,e._variant=e.$populated._variant,e._payments=e.$populated._payments,e._coverages=e.$populated._coverages,e._commissions=e.$populated._commissions,m({},f.omit(e,["$populated"]))}),m({},f.omit(e,["$populated"]))})}).then(function(e){return e.map(function(e){return e._billingItems=e._billingItems.map(function(n){return m({},n,{coverages:n.coverages.map(function(t){var e=n._coverages.findIndex(function(e){return t.contract===e.id});return-1<e&&(t._insurerName=n._coverages[e].insurerName),t}),commissions:n.commissions.map(function(t){var e=n._commissions.findIndex(function(e){return t.provider===e.id||t.provider===e.uid});return-1<e&&(t._providerName=n._commissions[e].name),t}),_payments:n._payments?n._payments.map(function(t){if(t.paymentMethod){var e=r&&r.bl_paymentMethods?r.bl_paymentMethods.findIndex(function(e){return e.code===t.paymentMethod}):-1;-1<e?t._paymentMethod=r.bl_paymentMethods[e]:"CSH"===t.paymentMethod&&(t._paymentMethod={code:"CSH",name:"Cash",type:"cash"})}return t}):[]})}),e})}).then(function(e){return e.map(function(t){return t._billingItems=t._billingItems.map(function(e){return m({},e,{paymentMethods:o.billingItemPaymentMethod(t,e),paymentMethodDesc:o.billingItemPaymentMethodDesc(t,e)})}),t})}).then(function(e){return ve.debug("loadCompaniesTransactions",e),e})})},e.prototype.loadGovsTransactions=function(e,t,n,i){var o=this;return this.sdk.organizations().get(e).then(function(r){return o.sdk.billing.invoices().find({facility:e,finalizedAt:{$gte:t,$lte:n},$dateFields:["finalizedAt.$gte","finalizedAt.$lte"],$prequery:[{service:"billing-items",query:{facility:e,"coverages.insurerType":"insurance","coverages.insurerSubtype":"government","coverages.contract":i||{$exists:!0}},extractKey:"invoice",resKey:"id",resOps:"$in"}],$populate:{_encounter:{service:"mf-encounters",key:"id",$populate:{_patient:{service:"mf-patients",key:"patient"},_diagnosis:{service:"med-records",method:"find",foreignKey:"encounter",localKey:"id",type:"assessment",subtype:"diagnosis"}}},_transaction:{service:"wh-transactions",key:"id",$populate:{_patient:{service:"mf-patients",key:"customer"}}},_billingItems:{service:"billing-items",key:"id",method:"find",idField:"invoice",$prequery:i?[{service:"billing-items",extractKey:"id",resKey:"id",resOps:"$in",query:{facility:e,"coverages.insurerType":"insurance","coverages.insurerSubtype":"government","coverages.contract":i||{$exists:!0}}}]:[{service:"billing-items",extractKey:"id",resKey:"id",resOps:"$in",query:{facility:e,"coverages.insurerType":"insurance","coverages.insurerSubtype":"government"}}],$populate:{_service:{service:"mf-services",key:"ref"},_variant:{service:"wh-variants",key:"ref"},_payments:{service:"billing-payments",key:"id",method:"find",idField:"item"},_coverages:{service:"insurance-contracts",key:"coverages",extractKey:"contract"},_commissions:{service:"org-members",key:"commissions",extractKey:"provider",idField:"uid"}}}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return e._encounter=e.$populated._encounter?m({},f.omit(e.$populated._encounter,["$populated"]),{_patient:e.$populated._encounter.$populated._patient,_diagnosis:e.$populated._encounter.$populated._diagnosis}):{_patient:{}},e._transaction=e.$populated._transaction?m({},f.omit(e.$populated._transaction,["$populated"]),{_patient:e.$populated._transaction.$populated._patient}):{_patient:{}},e._billingItems=e.$populated._billingItems.map(function(e){return e._service=e.$populated._service,e._variant=e.$populated._variant,e._payments=e.$populated._payments,e._coverages=e.$populated._coverages,e._commissions=e.$populated._commissions,m({},f.omit(e,["$populated"]))}),m({},f.omit(e,["$populated"]))})}).then(function(e){return e.map(function(e){return e._billingItems=e._billingItems.map(function(n){return m({},n,{coverages:n.coverages.map(function(t){var e=n._coverages.findIndex(function(e){return t.contract===e.id});return-1<e&&(t._insurerName=n._coverages[e].insurerName),t}),commissions:n.commissions.map(function(t){var e=n._commissions.findIndex(function(e){return t.provider===e.id||t.provider===e.uid});return-1<e&&(t._providerName=n._commissions[e].name),t}),_payments:n._payments?n._payments.map(function(t){if(t.paymentMethod){var e=r&&r.bl_paymentMethods?r.bl_paymentMethods.findIndex(function(e){return e.code===t.paymentMethod}):-1;-1<e?t._paymentMethod=r.bl_paymentMethods[e]:"CSH"===t.paymentMethod&&(t._paymentMethod={code:"CSH",name:"Cash",type:"cash"})}return t}):[]})}),e})}).then(function(e){return e.map(function(t){return t._billingItems=t._billingItems.map(function(e){return m({},e,{paymentMethods:o.billingItemPaymentMethod(t,e),paymentMethodDesc:o.billingItemPaymentMethodDesc(t,e)})}),t})}).then(function(e){return ve.debug("loadGovsTransactions",e),e})})},e.prototype.loadHMOsTransactions=function(e,t,n,i){var o=this;return this.sdk.organizations().get(e).then(function(r){return o.sdk.billing.invoices().find({facility:e,finalizedAt:{$gte:t,$lte:n},$dateFields:["finalizedAt.$gte","finalizedAt.$lte"],$prequery:[{service:"billing-items",query:{facility:e,"coverages.insurerType":"insurance","coverages.insurerSubtype":"hmo","coverages.contract":i||{$exists:!0}},extractKey:"invoice",resKey:"id",resOps:"$in"}],$populate:{_encounter:{service:"mf-encounters",key:"id",$populate:{_patient:{service:"mf-patients",key:"patient"},_diagnosis:{service:"med-records",method:"find",foreignKey:"encounter",localKey:"id",type:"assessment",subtype:"diagnosis"}}},_transaction:{service:"wh-transactions",key:"id",$populate:{_patient:{service:"mf-patients",key:"customer"}}},_billingItems:{service:"billing-items",key:"id",method:"find",idField:"invoice",$prequery:i?[{service:"billing-items",query:{facility:e,"coverages.insurerType":"insurance","coverages.insurerSubtype":"hmo","coverages.contract":i||{$exists:!0}},extractKey:"id",resKey:"id",resOps:"$in"}]:[{service:"billing-items",query:{facility:e,"coverages.insurerType":"insurance","coverages.insurerSubtype":"hmo"},extractKey:"id",resKey:"id",resOps:"$in"}],$populate:{_service:{service:"mf-services",key:"ref"},_variant:{service:"wh-variants",key:"ref"},_payments:{service:"billing-payments",key:"id",method:"find",idField:"item"},_coverages:{service:"insurance-contracts",key:"coverages",extractKey:"contract"},_commissions:{service:"org-members",key:"commissions",extractKey:"provider",idField:"uid"}}}}}).then(function(e){return e.items}).then(function(e){return e.map(function(e){return e._encounter=e.$populated._encounter?m({},f.omit(e.$populated._encounter,["$populated"]),{_patient:e.$populated._encounter.$populated._patient,_diagnosis:e.$populated._encounter.$populated._diagnosis}):{_patient:{}},e._transaction=e.$populated._transaction?m({},f.omit(e.$populated._transaction,["$populated"]),{_patient:e.$populated._transaction.$populated._patient}):{_patient:{}},e._billingItems=e.$populated._billingItems.map(function(e){return e._service=e.$populated._service,e._variant=e.$populated._variant,e._payments=e.$populated._payments,e._coverages=e.$populated._coverages,e._commissions=e.$populated._commissions,m({},f.omit(e,["$populated"]))}),m({},f.omit(e,["$populated"]))})}).then(function(e){return e.map(function(e){return e._billingItems=e._billingItems.map(function(n){return m({},n,{coverages:n.coverages.map(function(t){var e=n._coverages.findIndex(function(e){return t.contract===e.id});return-1<e&&(t._insurerName=n._coverages[e].insurerName),t}),commissions:n.commissions.map(function(t){var e=n._commissions.findIndex(function(e){return t.provider===e.id||t.provider===e.uid});return-1<e&&(t._providerName=n._commissions[e].name),t}),_payments:n._payments?n._payments.map(function(t){if(t.paymentMethod){var e=r&&r.bl_paymentMethods?r.bl_paymentMethods.findIndex(function(e){return e.code===t.paymentMethod}):-1;-1<e?t._paymentMethod=r.bl_paymentMethods[e]:"CSH"===t.paymentMethod&&(t._paymentMethod={code:"CSH",name:"Cash",type:"cash"})}return t}):[]})}),e})}).then(function(e){return e.map(function(t){return t._billingItems=t._billingItems.map(function(e){return m({},e,{paymentMethods:o.billingItemPaymentMethod(t,e),paymentMethodDesc:o.billingItemPaymentMethodDesc(t,e)})}),t})}).then(function(e){return ve.debug("loadHMOsTransactions",e),e})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),ye=function(){function e(e){this.sdk=e}return e.prototype.loadCurrentUserIdMembership=function(){return v(this,void 0,void 0,function(){var t,n;return h(this,function(e){switch(e.label){case 0:return[4,this.sdk.auth().currentUser()];case 1:if(!(t=e.sent()))throw new Error("no user");return[4,this.sdk.organization.members().findOne({uid:t.uid})];case 2:if(!(n=e.sent()))throw new Error("no membership");return[2,{currentUser:t,membership:n}]}})})},e.prototype.loadUserId=function(){return v(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return[4,this.sdk.auth().currentUser()];case 1:if(!(t=e.sent()))throw new Error("no user");return[2,t]}})})},e.prototype.loadAllOrgMembership=function(o){return v(this,void 0,void 0,function(){var t,n,r,i;return h(this,function(e){switch(e.label){case 0:return t={organization:o},[4,this.sdk.organization.members().find(t)];case 1:return n=e.sent(),r=n.items,i=r.map(function(e){return e.uid})||[],[2,{members:r,memberIds:i}]}})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),ge=function(){function e(e){this.sdk=e}return e.prototype.loadOrgLisAnalyzer=function(n){return v(this,void 0,void 0,function(){var t;return h(this,function(e){switch(e.label){case 0:return t={facility:n},[4,this.sdk.lis.analyzers().find(t)];case 1:return[2,e.sent().items]}})})},e.prototype.loadLisAnalyzer=function(e){return this.sdk.lis.analyzers().get(e)},e.prototype.createLisAnalyzer=function(e){var t=f.pick(e,["name","description","facility"]);return this.sdk.lis.analyzers().create(t)},e.prototype.updateLisAnalyzer=function(e,t){var n=f.pick(t,["name","description"]);return this.sdk.lis.analyzers().update(e,n)},e.prototype.removeLisAnalyzer=function(e){return this.sdk.lis.analyzers().remove(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),_e=new I("@mycure/mc-services"),be=function(){function e(e){this.sdk=e}return e.prototype.sendSmsMessage=function(a,s,c,u,d){return void 0===d&&(d="txtconnect5"),v(this,void 0,void 0,function(){var t,n,r,i,o;return h(this,function(e){switch(e.label){case 0:return[4,this.sdk.organizations().get(a)];case 1:if(t=e.sent(),_e.debug("values",a,s,c,u,d),!t.sms_configs||t.sms_configs&&0==t.sms_configs.length)throw new Error("missing config");return n=c||[],u&&0!=u.length?(r={facility:a,tags:{$in:u}},[4,this.sdk.personalDetails().find(r)]):[3,3];case 2:i=e.sent(),i.items.map(function(e){e&&e.mobileNo&&(n.includes(e.mobileNo)||n.push(e.mobileNo))}),e.label=3;case 3:if(0==n.length)throw new Error("missing recipient");return _e.debug("using recipients",n),o={organization:a,provider:d,message:s,recipientType:"mf-patient",recipients:n},[2,this.sdk.sms().create(o)]}})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),ke=function(){function e(e){this.sdk=e}return e.prototype.createQueueItem=function(t){return v(this,void 0,void 0,function(){return h(this,function(e){return[2,this.sdk.queue.items().create(t)]})})},e.prototype.createNewQueueItemAndPx=function(a,s){return v(this,void 0,void 0,function(){var t,n,r,i,o;return h(this,function(e){switch(e.label){case 0:if(!s.id)throw new Error("queue item missing");return a.id?[3,2]:(n=f.pick(a,["name","dateOfBirth","sex","mobileNo"]),(r=f.pick(a,["facility"])).personalDetails=n,[4,this.sdk.mf.patients().create(r)]);case 1:return t=e.sent(),[3,3];case 2:t=a,e.label=3;case 3:if(!t)throw new Error("px cannot create");return i={meta:{patient:t.id,patientMobileNo:undefined}},[4,this.sdk.queue.items().update(s.id,i)];case 4:if(!(o=e.sent()))throw new Error("queue cannot create");return[2,{createdPx:t,createdQItem:o}]}})})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:g}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(g))},token:e,providedIn:"root"}),e}(),$e=function(){function e(){}return e.prototype.exportAsExcelFile=function(e,t){var n={Sheets:{data:c.utils.json_to_sheet(e)},SheetNames:["data"]},r=c.write(n,{bookType:"xlsx",type:"buffer"});this.saveAsExcelFile(r,t)},e.prototype.exportAsExcelFileFromAOA=function(e,t){var n={Sheets:{data:c.utils.aoa_to_sheet(e)},SheetNames:["data"]},r=c.write(n,{bookType:"xlsx",type:"buffer"});this.saveAsExcelFile(r,t)},e.prototype.exportAsExcelFileFromTableDocumentElement=function(e,t){var n=c.utils.book_new(),r=c.utils.table_to_sheet(e);c.utils.book_append_sheet(n,r,"Sheet1");var i=c.write(n,{bookType:"xlsx",type:"buffer"});this.saveAsExcelFile(i,t)},e.prototype.saveAsExcelFile=function(e,t){var n=new Blob([e],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"});s.saveAs(n,t+"_export_"+(new Date).getTime()+".xlsx")},e.prototype.exportAsCSVFile=function(e,t){var n={Sheets:{data:c.utils.json_to_sheet(e)},SheetNames:["data"]};c.writeFile(n,t+"_export_"+(new Date).getTime()+".csv")},e.prototype.exportAsCSVFileFromAOA=function(e,t){var n=c.utils.aoa_to_sheet(e),r={Sheets:{data:n},SheetNames:["data"]};c.write(r,{bookType:"csv",type:"buffer"});this.saveAsCSVFile(c.utils.sheet_to_csv(n),t)},e.prototype.exportAsCSVFileFromTableDocumentElement=function(e,t){var n=c.utils.table_to_sheet(e);this.saveAsCSVFile(c.utils.sheet_to_csv(n),t)},e.prototype.saveAsCSVFile=function(e,t){var n=new Blob([e],{type:"text/csv"});s.saveAs(n,t+"_export_"+(new Date).getTime()+".csv")},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),Ie=function(){function n(){}return n.initialize=function(e,t){return{ngModule:n,providers:[{provide:b,useValue:{base:e,config:t}}]}},n.decorators=[{type:t.NgModule,args:[{providers:[g,k,ye,he,F,N,B,z,j,ge,R,O,E,A,be,ke,T,P,D,C,S,S,w,x,$e],imports:[],declarations:[],exports:[]}]}],n}(),xe=function(){function e(e){this.zone=e}return e.prototype.schedule=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.zone.run(function(){return u.queue.schedule.apply(u.queue,e)})},e}(),we=function(){function e(){this.loaderSubject=new d.BehaviorSubject(!0),this.loaderState=this.loaderSubject.asObservable()}return e.prototype.showLoading=function(){this.loaderSubject.next(!0)},e.prototype.hideLoading=function(){this.loaderSubject.next(!1)},e.prototype.destroy=function(){this.loaderSubject&&this.loaderSubject.unsubscribe()},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var Se=function(){function e(){}return e.provideFullNameFirstNameFirst=function(e,t,n){var r;if(e){if(e.firstName&&(r=e.firstName),e.middleName&&(r=r+" "+e.middleName.substr(0,1)+"."),e.lastName&&(r=r+" "+e.lastName),e.suffix&&(r=r+", "+e.suffix),t&&0<t.length){var i=this.provideProfessions(t);r+=0<i.trim().length?", "+i:""}if(n&&0<n.length){var o=this.provideSpecialties(n);r+=0<o.trim().length?", "+o:""}}return r},e.provideFullNameLastNameFirst=function(e,t,n){var r;if(e){if(e.lastName&&(r=e.lastName),e.firstName&&(r=r+", "+e.firstName),e.middleName&&(r=r+" "+e.middleName.substr(0,1)+"."),e.suffix&&(r=r+", "+e.suffix),t&&0<t.length){var i=this.provideProfessions(t);r+=0<i.trim().length?", "+i:""}if(n&&0<n.length){var o=this.provideSpecialties(n);r+=0<o.trim().length?", "+o:""}}return r},e.provideProfessions=function(e){var t="";if(e&&0<e.length){var n=[];for(var r in e)n.push(e[r]);t=n.join(", ")}return t},e.provideSpecialties=function(e){var t="";if(e&&0<e.length){var n=[];for(var r in e)n.push(e[r]);t=n.join(", ")}return t},e.sortListByKey=function(e,i,o){return e.sort(function(e,t){var n,r;return e[o]?(n=e[o],t[o]?(r=t[o],i?r<n?1:-1:n<r?1:-1):0):0})},e.sortListByDate=function(e,a,s){return e.sort(function(e,t){var n,r;if(e[s])n=e[s];else{if(!e.createdAt)return 0;n=e.createdAt}if(t[s])r=t[s];else{if(!t.createdAt)return 0;r=t.createdAt}var i=p(n).toDate().getTime(),o=p(r).toDate().getTime();return a?o==i?0:i<o?-1:1:i==o?0:o<i?-1:1})},e.romanize=function(e){var t,n={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1},r="";for(t in n)for(;n[t]<=e;)r+=t,e-=n[t];return r},e}();var Ce=function(){function e(){}return e.getBorder=function(){return localStorage.getItem("drawSize")?localStorage.getItem("drawSize"):"1"},e.getColor=function(){return localStorage.getItem("drawColor")?localStorage.getItem("drawColor"):"#000000"},e.setBorder=function(e){localStorage.setItem("drawSize",e)},e.setColor=function(e){localStorage.setItem("drawColor",e)},e}();e.STRATEGY_LOCAL=o.STRATEGY_LOCAL,e.AuthService=o.AuthService,e.CoreService=o.CoreService,e.core=o.core,e.AccountInvitationService=o.AccountInvitationService,e.AccountTaskService=o.AccountTaskService,e.AppointmentService=o.AppointmentService,e.BillingInvoiceService=o.BillingInvoiceService,e.BillingItemService=o.BillingItemService,e.ClockService=o.ClockService,e.FixtureMedicineService=o.FixtureMedicineService,e.LISOrderService=o.LISOrderService,e.MedicalRecordService=o.MedicalRecordService,e.MedicalService=o.MedicalService,e.MedicalFacilityEncounterService=o.MedicalFacilityEncounterService,e.MedicalFacilityPatientService=o.MedicalFacilityPatientService,e.OrganizationMemberService=o.OrganizationMemberService,e.QueueService=o.QueueService,e.QueueItemService=o.QueueItemService,e.RISOrderService=o.RISOrderService,e.WardOccupantService=o.WardOccupantService,e.WarehouseService=o.WarehouseService,e.WarehouseProductService=o.WarehouseProductService,e.WarehouseTransactionService=o.WarehouseTransactionService,e.WarehouseVariantService=o.WarehouseVariantService,e.Services=o.Services,e.ChildService=o.ChildService,e.CRUDChildService=o.CRUDChildService,e.ObservableSearch=o.ObservableSearch,e.ObservableUploadTask=o.ObservableUploadTask,e.McServicesModule=Ie,e.ZoneScheduler=xe,e.MycureSDK=g,e.MycureSDKConfigToken=b,e.factory=_,e.SDKServiceProvider=k,e.LogLevel=$,e.Logger=I,e.McAccountService=ye,e.McBillingService=he,e.McChatService=F,e.McLoaderService=we,e.McMedRecordService=R,e.McNotificationService=E,e.McOrganizationService=A,e.McXlsxService=$e,e.McClockService=N,e.McQueueItemService=ke,e.McSyncbaseConnectionService=P,e.McPrmService=be,e.McMfPatientService=O,e.computeEdcByAog=function Pe(e,t){var n=280-e;return p(t).add(n,"days").format("MMM DD, YYYY")},e.computeEdcByDate=function De(e){return p(e).add(9,"months").add(7,"days").format("MMM DD, YYYY")},e.computeAogByDate=function Te(e){var t=p(new Date).diff(p(e)),n=p.duration(t),r=Math.floor(n.asDays()/7),i=Math.floor(n.asDays()-7*r);return 0==r&&0==i?"---":0==r?i+" "+(1==i?"day":"days"):0==r||0!=i?r+" w / "+i+" d":r+" "+(1==r?"week":"weeks")},e.getDefaultAogWeeks=function Ae(){for(var e=[],t=0;t<=45;t+=5){var n=t<=1?"week":"weeks";e.push(t+" "+n)}return e},e.getDefaultAogDays=function Me(){for(var e=[],t=0;t<=6;t++){var n=t<=1?"day":"days";e.push(t+" "+n)}return e},e.resetEncounterStore=function Ee(t){t.dispatch({type:"ENC_NEW_RESET"}),t.dispatch({type:"CHART_NEW_RESET"}),t.dispatch({type:"PRESC_NEW_RESET"}),t.dispatch({type:"FORM_NEW_RESET"}),t.dispatch({type:"DIAG_TEST_NEW_RESET"}),t.dispatch({type:"DIAG_NEW_RESET"}),t.dispatch({type:"GC_NEW_RESET"}),t.dispatch({type:"VC_NEW_RESET"}),t.dispatch({type:"ROS_NEW_RESET"}),t.dispatch({type:"SOCHX_NEW_RESET"}),t.dispatch({type:"MEDHX_NEW_RESET"}),t.dispatch({type:"FAMHX_NEW_RESET"}),["ATTACHMENTS_NEW_RESET","CARE_PLAN_NEW_RESET","CHIEF_COMPLAINT_NEW_RESET","DIAGNOSIS_NEW_RESET","DIAGNOSTIC_ORDER_NEW_RESET","HISTORY_FMHX_NEW_RESET","IMPRESSION_NEW_RESET","HISTORY_PMHX_NEW_RESET","PRESCRIPTION_NEW_RESET","PROCEDURE_NEW_RESET","HISTORY_ROS_NEW_RESET","HISTORY_SOCHX_NEW_RESET","VITALS_NEW_RESET"].map(function(e){return t.dispatch({type:e}),e})},e.resetCurrentQueue=function Oe(e){e.dispatch({type:"Q_CURRENT_RESET"})},e.UtilityService=Se,e.computeBmi=function Re(e,t){var n=e/(t*t)*1e4;return Math.round(100*n)/100},e.computeEDCUsingUS=function Ne(e,t,n){void 0===n&&(n="MM/DD/YY");var r=280-e;return p(t).add(r,"days").format(n)},e.computeEDCUsingLMP=function je(e,t){return void 0===t&&(t="MM/DD/YY"),p(e).add(9,"months").add(7,"days").format(t)},e.computeAOGUsingLMP=function ze(e){var t=p(new Date).diff(p(e)),n=p.duration(t),r=Math.floor(n.asDays()/7),i=Math.floor(n.asDays()-7*r);return 0==r&&0==i?"---":0==r?i+" "+(1==i?"day":"days"):0==r||0!=i?r+" w / "+i+" d":r+" "+(1==r?"week":"weeks")},e.isDiscountsValid=function Be(e,t){var n,r,i=e.price;if(e.quantity&&(i*=e.quantity),e.discount){var o=e.discount/100;if(i<(i<0?0:i*o))return!1}else if(e.discounts){var a=0;try{for(var s=y(e.discounts),c=s.next();!c.done;c=s.next())(o=c.value).amount&&0<o.amount?a+=o.amount:o.percentage&&0<o.percentage&&(a+=o.percentage/100*i)}catch(u){n={error:u}}finally{try{c&&!c.done&&(r=s["return"])&&r.call(s)}finally{if(n)throw n.error}}if(i<a)return!1}return!0},e.computeBillItemTotalPrice=Z,e.computeBillItemResolvedPrice=ee,e.computeBillItemPaidPrice=te,e.computeBillItemBalancePrice=ne,e.getBillingItemCoveragePrice=re,e.getBillingItemCoverageByContractIdPrice=ie,e.getBillingItemCoverageByInsurerTypePrice=oe,e.getBillingItemCoverageByContractIdPaidAmount=function Fe(e,t){return K(e,t)},e.getBillingItemCoverageByInsurerTypePaidAmount=function qe(e,t,n){return U(e,t,n)},e.getBillingItemCoverageDeductions=ae,e.getBillingItemsTaxes=se,e.populateBillingItemComputations=ce,e.populateBillingItemsComputations=ue,e.computeTotalAmount=de,e.computeSubTotalAmount=function Le(e,t){return de(e,!1)},e.computePatientTotalAmount=pe,e.computePatientTotalPaidAmount=le,e.computePatientTotalBalanceAmount=function He(e,t){return pe(e,t)-le(e)},e.computeCoveragesTotalAmount=function Ke(e,t){return Y(e,t)},e.computeCoveragesTotalPaidAmount=function Ue(e,t){return V(e)},e.computeCoveragesTotalBalanceAmount=function We(e,t){return G(e,t)},e.computeContractIdTotalAmount=function Ye(e,t,n){return Q(e,t,n)},e.computeContractIdTotalPaidAmount=function Ve(e,t){return X(e,t)},e.computeContractIdTotalBalanceAmount=function Ge(e,t,n){return J(e,t,n)},e.populateTransactions=function Qe(e,t,n,r){var i=[];return e&&0<e.length?(i=[],t||i.push(fe(e,r)),n||(i=i.concat(me(e,r)))):i=undefined,i},e.populatePatientTransaction=fe,e.populateCoveragesTransactions=me,e.computeBillItemDoctorCommissions=function Xe(e,t){var n,r,i=0,o=ee(e,t),a=oe(e,"insurance","hmo",t),s=oe(e,"insurance","government",t);if(e&&e.commissions)try{for(var c=y(e.commissions),u=c.next();!u.done;u=c.next()){var d=u.value;"private"===d.type?i+=d.percentage/100*o:"insured"===d.type&&("hmo"===d.subtype?i+=d.percentage/100*a:"government"===d.subtype&&(i+=d.percentage/100*s))}}catch(p){n={error:p}}finally{try{u&&!u.done&&(r=c["return"])&&r.call(c)}finally{if(n)throw n.error}}return i},e.populateDoctorCommissions=function Je(e,t){var n=[];if(e&&0<e.length)for(var r=0;r<e.length;r++){var i=e[r],o=ee(i,t),a=oe(i,"insurance","hmo",t),s=oe(i,"insurance","government",t),c=[];if(i.commissions&&0<i.commissions.length)for(var u=function(e){var t=i.commissions[e],n=c.findIndex(function(e){return e.provider===t.provider});-1<n?"private"===t.type?(c[n].privateId=t.id,c[n].privatePct=t.percentage):"insured"===t.type&&("hmo"===t.subtype?(c[n].hmoId=t.id,c[n].hmoPct=t.percentage):"government"===t.subtype&&(c[n].governmentId=t.id,c[n].governmentPct=t.percentage)):c.push({provider:t.provider,privateId:"private"===t.type?t.id:undefined,privatePct:"private"===t.type?t.percentage:undefined,hmoId:"insured"===t.type&&"hmo"===t.subtype?t.id:undefined,hmoPct:"insured"===t.type&&"hmo"===t.subtype?t.percentage:undefined,governmentId:"insured"===t.type&&"government"===t.subtype?t.id:undefined,governmentPct:"insured"===t.type&&"government"===t.subtype?t.percentage:undefined})},d=0;d<i.commissions.length;d++)u(d);n.push({privateTotal:o,hmoTotal:a,governmentTotal:s,commissions:c,billingItem:i,billingItemIndex:r})}return n},e.IllustrationUtils=Ce,e.mapDerivedGrowthChart=function Ze(e){var t,n;if(e.growthChart.takenAt)t=parseInt(p(e.growthChart.takenAt).format("YYYY")),n=parseInt(p(e.growthChart.takenAt).format("M"));else if(e.growthChart.originalCreationAt)t=parseInt(p(e.growthChart.originalCreationAt).format("YYYY")),n=parseInt(p(e.growthChart.originalCreationAt).format("M"));else{if(!e.growthChart.createdAt)return undefined;t=parseInt(p(e.growthChart.createdAt).format("YYYY")),n=parseInt(p(e.growthChart.createdAt).format("M"))}return e.recordBdayYear=t,e.recordBdayMonth=n-1,e.recordBdayDiff=e.recordBdayYear-e.pxBdayYear,e.yearCount=12*e.recordBdayDiff,e.index=e.recordBdayMonth+e.yearCount-e.pxBdayMonth,e},e.kgCmToBMI=function et(e,t){var n=0,r=0;return t&&(r=t),e&&(n=e),n/((r/=100)*r)||null},e.McRisOrderService=T,e.McLisOrderService=z,e.McLisMeasureService=B,e.McLisTestService=j,e.McLisTestAnalyzerService=ge,e.McWhVariantService=x,e.McWhProductService=D,e.McWhSupplierService=C,e.McWhTrackingService=S,e.McWhTransactionService=w,e.ɵj=Q,e.ɵl=J,e.ɵk=X,e.ɵg=Y,e.ɵi=G,e.ɵh=V,e.ɵd=K,e.ɵb=L,e.ɵe=U,e.ɵc=H,e.ɵf=W,e.ɵa=q,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=mycure-mc-services.umd.min.js.map