1"use strict";(self.webpackChunkbooking=self.webpackChunkbooking||[]).push([[7067],{1987:(m,h,l)=>{l.d(h,{Q:()=>o});const o={commaSeparated:{numbers:/^\d+(,\d+)*$/,strings:/[0-9a-zA-Z]+(,[0-9a-zA-Z]+)*$/,hourAndMinute:/^([0-9]|0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])?(?:,([0-9]|0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])?)*$/},validUrl:new RegExp(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g),url:{image:/\b(https?:\/\/\S*?\.(?:png|jpe?g|gif|PNG|JPE?G|GIF)(?:\?(?:(?:(?:[\w_-]+=[\w_-]+)(?:&[\w_-]+=[\w_-]+)*)|(?:[\w_-]+)))?)\b/},whiteSpace:/(?!^ +$)^.+$/,noSpace:/^\S*$/,icd10:new RegExp(/^[A-Z]\d{2}(\.\d){0,1}$/),positiveNumber:/^[0-9]+$/,email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,name:/^[A-Z\xc0\xc1\u1ea0\u1ea2\xc3\xc2\u1ea6\u1ea4\u1eac\u1ea8\u1eaa\u0102\u1eb0\u1eae\u1eb6\u1eb2\u1eb4\xc8\xc9\u1eb8\u1eba\u1ebc\xca\u1ec0\u1ebe\u1ec6\u1ec2\u1ec4\xcc\xcd\u1eca\u1ec8\u0128\xd2\xd3\u1ecc\u1ece\xd5\xd4\u1ed2\u1ed0\u1ed8\u1ed4\u1ed6\u01a0\u1edc\u1eda\u1ee2\u1ede\u1ee0\xd9\xda\u1ee4\u1ee6\u0168\u01af\u1eea\u1ee8\u1ef0\u1eec\u1eee\u1ef2\xdd\u1ef4\u1ef6\u1ef8\u0110][a-z\xe0\xe1\u1ea1\u1ea3\xe3\xe2\u1ea7\u1ea5\u1ead\u1ea9\u1eab\u0103\u1eb1\u1eaf\u1eb7\u1eb3\u1eb5\xe8\xe9\u1eb9\u1ebb\u1ebd\xea\u1ec1\u1ebf\u1ec7\u1ec3\u1ec5\xec\xed\u1ecb\u1ec9\u0129\xf2\xf3\u1ecd\u1ecf\xf5\xf4\u1ed3\u1ed1\u1ed9\u1ed5\u1ed7\u01a1\u1edd\u1edb\u1ee3\u1edf\u1ee1\xf9\xfa\u1ee5\u1ee7\u0169\u01b0\u1eeb\u1ee9\u1ef1\u1eed\u1eef\u1ef3\xfd\u1ef5\u1ef7\u1ef9\u0111]*(?:[ ][A-Z\xc0\xc1\u1ea0\u1ea2\xc3\xc2\u1ea6\u1ea4\u1eac\u1ea8\u1eaa\u0102\u1eb0\u1eae\u1eb6\u1eb2\u1eb4\xc8\xc9\u1eb8\u1eba\u1ebc\xca\u1ec0\u1ebe\u1ec6\u1ec2\u1ec4\xcc\xcd\u1eca\u1ec8\u0128\xd2\xd3\u1ecc\u1ece\xd5\xd4\u1ed2\u1ed0\u1ed8\u1ed4\u1ed6\u01a0\u1edc\u1eda\u1ee2\u1ede\u1ee0\xd9\xda\u1ee4\u1ee6\u0168\u01af\u1eea\u1ee8\u1ef0\u1eec\u1eee\u1ef2\xdd\u1ef4\u1ef6\u1ef8\u0110][a-z\xe0\xe1\u1ea1\u1ea3\xe3\xe2\u1ea7\u1ea5\u1ead\u1ea9\u1eab\u0103\u1eb1\u1eaf\u1eb7\u1eb3\u1eb5\xe8\xe9\u1eb9\u1ebb\u1ebd\xea\u1ec1\u1ebf\u1ec7\u1ec3\u1ec5\xec\xed\u1ecb\u1ec9\u0129\xf2\xf3\u1ecd\u1ecf\xf5\xf4\u1ed3\u1ed1\u1ed9\u1ed5\u1ed7\u01a1\u1edd\u1edb\u1ee3\u1edf\u1ee1\xf9\xfa\u1ee5\u1ee7\u0169\u01b0\u1eeb\u1ee9\u1ef1\u1eed\u1eef\u1ef3\xfd\u1ef5\u1ef7\u1ef9\u0111]*)*$/i}},8767:(m,h,l)=>{l.d(h,{D:()=>t});var o=l(8987),g=l(934),s=l(2340),a=l(2560),c=l(6774);let t=(()=>{const n=class extends g.b{constructor(u){super(u,s.N.adminApiUrl,""),this.http=u}getCities(){return this.getCustomApi("cities",new o.LE)}findDistricts(u){const i=new o.LE;return i.append("city",u),this.getCustomApi("city",i)}getAllCities(){return this.httpClient.get(s.N.apiUrl+"/v4/cities?page=1&size=100&_allow_anonymous=true")}getDistricts(u){return this.httpClient.get(s.N.apiUrl+`/v4/districts?page=1&size=100&cityId=${u}&_allow_anonymous=true`)}getWards(u){return this.httpClient.get(s.N.apiUrl+`/v4/wards?page=1&size=100&districtId=${u}&_allow_anonymous=true`)}getEthnicGroups(){return this.httpClient.get(s.N.apiUrl+"/v4/patients/ethnic-groups?size=100&_allow_anonymous=true")}getJobs(){return this.httpClient.get(s.N.apiUrl+"/v4/patients/jobs?size=1000&_allow_anonymous=true")}};let e=n;return n.\u0275fac=function(i){return new(i||n)(a.LFG(c.h))},n.\u0275prov=a.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"}),e})()},5326:(m,h,l)=>{l.d(h,{$:()=>e});var o=l(8987),g=l(934),s=l(2340),a=l(620),c=l(2560),t=l(6774);let e=(()=>{const p=class extends g.b{constructor(i){super(i,s.N.apiUrl,"v4/patients"),this.http=i}getPatient(i){let r=new o.LE;return r=r.append("page",i?.page||1),r=r.append("size",i?.size||100),r=r.append("query",i?.query||""),i.sId&&(r=r.append("sId",i?.sId)),this.getCustomApi("",r)}getAndSyncPatient(i){return this.getCustomApi("get-and-sync",a.D.getHttpParams(i))}getEthnicGroup(i){let r=new o.LE;return r=r.append("page",i?.page||1),r=r.append("size",i?.size||100),this.getCustomApi("ethnic-groups",r)}getJobs(i){let r=new o.LE;return r=r.append("page",i?.page||1),r=r.append("size",i?.size||100),this.getCustomApi("jobs",r)}getPatientById(i){let r=new o.LE;return this.getCustomApi(`${i}`,r)}searchPatientInHIS(i,r){let d=new o.LE;return d=d.append("sId",i),d=d.append("hisId",r),this.getCustomApi("his/search/hisId",d)}searchPatientHISByPhone(i,r){let d=new o.LE;return d=d.append("sId",i),d=d.append("phoneNumber",r),this.getCustomApi("his/search/phone",d)}getPatientAddress(){return this.getCustomApi("patient-address",new o.LE)}getPatientByCidQrCode(i){return this.postCustomApi("scan-cid-qrcode",i)}getRelationships(){return this.getCustomApi("relative-relationships",new o.LE)}getPatientByHiCardQrCode(i){return this.postCustomApi("qrcode/scan",i)}createPatientPrimary(i){return this.postCustomApi("primary",i)}createPatient(i){return this.postCustomApi("",i)}createPatientAddress(i){return this.postCustomApi("patient-address",i)}updatePatient(i,r){return this.patchCustomApi(i||"",r)}acceptHISPatient(i){return this.patchCustomApi(`${i}/his/accept`,new o.LE)}findByTypes(i){return this.postCustomApi("find/types",i)}deletePatient(i){return this.deleteCustomApi(i,new o.LE)}deletePatientAddress(i){return this.deleteCustomApi("patient-address"+i,new o.LE)}};let n=p;
1return p.\u0275fac=function(r){return new(r||p)(c.LFG(t.h))},p.\u0275prov=c.Yz7({token:p,factory:p.\u0275fac,providedIn:"root"}),n})()},2748:(m,h,l)=>{l.d(h,{X:()=>o});class o{static clearNullValue(s){for(var a in s)null==s[a]&&delete s[a];return s}static clearNullValueV2(s){for(var a in s)(null==s[a]||""===s[a])&&delete s[a];return s}}},6033:(m,h,l)=>{function o(){return g=>{let s=!0;const a=g.value;if(a&&""!==a){const c=String(a).match(/(0)+([0-9]{9})|(84)+([0-9]{9})/);s=-1===a.split("").findIndex(e=>!parseInt(e)&&0!==parseInt(e))&&!!c}return s?null:{other:"Vui l\xf2ng nh\u1eadp \u0111\xfang s\u1ed1 \u0111i\u1ec7n tho\u1ea1i!"}}}l.d(h,{b:()=>o})},2870:(m,h,l)=>{l.d(h,{L:()=>g});var o=l(2560);let g=(()=>{const a=class{constructor(t){this.el=t,this.hasDecimalPoint=!1,this.hasNegativeSign=!1,this.navigationKeys=["Backspace","Delete","Tab","Escape","Enter","Home","End","ArrowLeft","ArrowRight","Clear","Copy","Paste"],this.decimal=!1,this.decimalSeparator=".",this.allowNegatives=!1,this.allowPaste=!0,this.negativeSign="-",this.min=-1/0,this.max=1/0,this.regex=null,this.inputElement=t.nativeElement}ngOnChanges(t){if(t.pattern&&(this.regex=this.pattern?RegExp(this.pattern):null),t.min){const e=Number(this.min);this.min=isNaN(e)?-1/0:e}if(t.max){const e=Number(this.max);this.max=isNaN(e)?1/0:e}}onBeforeInput(t){if(isNaN(Number(t.data))){if(t.data===this.decimalSeparator||t.data===this.negativeSign&&this.allowNegatives)return;t.preventDefault(),t.stopPropagation()}}onKeyDown(t){if(this.navigationKeys.indexOf(t.key)>-1||("a"===t.key||"KeyA"===t.code)&&!0===t.ctrlKey||("c"===t.key||"KeyC"===t.code)&&!0===t.ctrlKey||("v"===t.key||"KeyV"===t.code)&&!0===t.ctrlKey||("x"===t.key||"KeyX"===t.code)&&!0===t.ctrlKey||("a"===t.key||"KeyA"===t.code)&&!0===t.metaKey||("c"===t.key||"KeyC"===t.code)&&!0===t.metaKey||("v"===t.key||"KeyV"===t.code)&&!0===t.metaKey||("x"===t.key||"KeyX"===t.code)&&!0===t.metaKey)return;let e="";if(this.decimal&&t.key===this.decimalSeparator)return e=this.forecastValue(t.key),e.split(this.decimalSeparator).length>2?void t.preventDefault():void(this.hasDecimalPoint=e.indexOf(this.decimalSeparator)>-1);if(t.key===this.negativeSign&&this.allowNegatives)return e=this.forecastValue(t.key),e.charAt(0)!==this.negativeSign||e.split(this.negativeSign).length>2?void t.preventDefault():void(this.hasNegativeSign=e.split(this.negativeSign).length>-1);if(" "===t.key||isNaN(Number(t.key)))return void t.preventDefault();if(e=e||this.forecastValue(t.key),this.regex&&!this.regex.test(e))return void t.preventDefault();const n=Number(e);(n>this.max||n<this.min)&&t.preventDefault()}onPaste(t){if(!0===this.allowPaste){let e="";window.clipboardData?e=window.clipboardData.getData("text"):t.clipboardData&&t.clipboardData.getData&&(e=t.clipboardData.getData("text/plain")),this.pasteData(e),t.preventDefault()}else t.preventDefault(),t.stopPropagation()}onDrop(t){const e=t.dataTransfer?.getData("text")??"";this.inputElement.focus(),this.pasteData(e),t.preventDefault()}pasteData(t){const e=this.sanitizeInput(t);if(!e.includes(this.negativeSign)||!this.hasNegativeSign||this.getSelection().includes(this.negativeSign)){if(!document.execCommand("insertText",!1,e))if(this.inputElement.setRangeText){const{selectionStart:p,selectionEnd:u}=this.inputElement;this.inputElement.setRangeText(e,p??0,u??0,"end"),typeof window.InstallTrigger<"u"&&this.inputElement.dispatchEvent(new Event("input",{cancelable:!0}))}else this.insertAtCursor(this.inputElement,e);this.decimal&&(this.hasDecimalPoint=this.inputElement.value.indexOf(this.decimalSeparator)>-1),this.hasNegativeSign=this.inputElement.value.indexOf(this.negativeSign)>-1}}insertAtCursor(t,e){const n=t.selectionStart??0,p=t.selectionEnd??0;t.value=t.value.substring(0,n)+e+t.value.substring(p,t.value.length);const u=n+e.length;t.focus(),t.setSelectionRange(u,u),this.triggerEvent(t,"input")}triggerEvent(t,e){if("createEvent"in document){const n=document.createEvent("HTMLEvents");n.initEvent(e,!1,!0),t.dispatchEvent(n)}}sanitizeInput(t){let n,e="";n=this.decimal&&this.isValidDecimal(t)?new RegExp(`${this.getNegativeSignRegExp()}[^0-9${this.decimalSeparator}]`,"g"):new RegExp(`${this.getNegativeSignRegExp()}[^0-9]`,"g"),e=t.replace(n,"");const p=this.inputElement.maxLength;if(p>0){const u=p-this.inputElement.value.length+(e.includes(`${this.negativeSign}`)?1:0);e=u>0?e.substring(0,u):""}return e}getNegativeSignRegExp(){return!this.allowNegatives||this.hasNegativeSign&&!this.getSelection().includes(this.negativeSign)?"":`(?!^${this.negativeSign})`}isValidDecimal(t){if(this.hasDecimalPoint){const e=this.getSelection();return e&&e.indexOf(this.decimalSeparator)>-1?t.split(this.decimalSeparator).length<=2:t.indexOf(this.decimalSeparator)<0}return t.split(this.decimalSeparator).length<=2}getSelection(){return this.inputElement.value.substring(this.inputElement.selectionStart??0,this.inputElement.selectionEnd??0)}forecastValue(t){const n=this.inputElement.selectionEnd??0,p=this.inputElement.value;return p.substring(0,this.inputElement.selectionStart??0)+t+p.substring(n)}};let s=a;return a.\u0275fac=function(e){return new(e||a)(o.Y36(o.SBq))},a.\u0275dir=o.lG2({type:a,selectors:[["","digitOnly",""]],hostBindings:function(e,n){1&e&&o.NdJ("beforeinput",function(u){return n.onBeforeInput(u)})("keydown",function(u){return n.onKeyDown(u)})("paste",function(u){return n.onPaste(u)})("drop",function(u){return n.onDrop(u)})},inputs:{decimal:"decimal",decimalSeparator:"decimalSeparator",allowNegatives:"allowNegatives",allowPaste:"allowPaste",negativeSign:"negativeSign",min:"min",max:"max",pattern:"pattern"},features:[o.TTD]}),s})()},6387:(m,h,l)=>{l.d(h,{x:()=>s});var o=l(6701),g=l(2560);let s=(()=>{const c=class{transform(e){const n=e.trim().split(" ");return o.m.removeVietnameseTones(n[n.length-1].slice(0,2))}};let a=c;return c.\u0275fac=function(n){return new(n||c)},c.\u0275pipe=g.Yjl({name:"slicePatientName",type:c,pure:!0}),a})()},9786:(m,h,l)=>{l.d(h,{q:()=>s});var o=l(4666),g=l(2560);let s=(()=>{const c=class{};let a=c;return c.\u0275fac=function(n){return new(n||c)},c.\u0275mod=g.oAB({type:c}),c.\u0275inj=g.cJS({imports:[o.ez]}),a})()}}]); 2//# sourceMappingURL=7067.7b9d02cfdcec8af5.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.