Merge branch 'development_mirza' into 'main'
Development mirza See merge request Cloud_Solution/hmg_nurses!6main
@ -0,0 +1,82 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "934365232760",
|
||||
"project_id": "hmg-dr-app",
|
||||
"storage_bucket": "hmg-dr-app.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:934365232760:android:024b3569972f1c09f9778d",
|
||||
"android_client_info": {
|
||||
"package_name": "COM.HMG.HMGDR"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "934365232760-bobv1r1sn222le020jeni6u1bdbjdu1v.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyCpYwrmuntOBdZv6GV6KEnLj8nQRvEnZ6I"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "934365232760-bobv1r1sn222le020jeni6u1bdbjdu1v.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
},
|
||||
{
|
||||
"client_id": "934365232760-57v2ld1qqulc4nt4o5pgjfbpc47fj3qf.apps.googleusercontent.com",
|
||||
"client_type": 2,
|
||||
"ios_info": {
|
||||
"bundle_id": "COM.HMG.HMGDR"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:934365232760:android:e0e185e68c0d7690f9778d",
|
||||
"android_client_info": {
|
||||
"package_name": "com.hmg.hmgDr"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "934365232760-bobv1r1sn222le020jeni6u1bdbjdu1v.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyCpYwrmuntOBdZv6GV6KEnLj8nQRvEnZ6I"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "934365232760-bobv1r1sn222le020jeni6u1bdbjdu1v.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
},
|
||||
{
|
||||
"client_id": "934365232760-57v2ld1qqulc4nt4o5pgjfbpc47fj3qf.apps.googleusercontent.com",
|
||||
"client_type": 2,
|
||||
"ios_info": {
|
||||
"bundle_id": "COM.HMG.HMGDR"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
||||
|
After Width: | Height: | Size: 95 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="28.123" height="26.245" viewBox="0 0 28.123 26.245">
|
||||
<path id="XMLID_219_" d="M28.984,15.637A2.077,2.077,0,0,1,27.025,17h-.716V27.309a.938.938,0,0,1-.937.937H19.748V21.685a4.687,4.687,0,0,0-9.374,0v6.562H4.749a.938.938,0,0,1-.937-.937V17H3.095a2.1,2.1,0,0,1-1.378-3.675L12.665,2.955a3.486,3.486,0,0,1,4.792,0L28.431,13.347A2.066,2.066,0,0,1,28.984,15.637Z" transform="translate(-0.999 -2.001)" fill="#2e303a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 467 B |
@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24.899" height="24.899" viewBox="0 0 24.899 24.899">
|
||||
<g id="Layer_76" data-name="Layer 76" transform="translate(-2 -2)">
|
||||
<path id="Path_4380" data-name="Path 4380" d="M3.245,11.96A1.245,1.245,0,0,0,4.49,10.715V5.735A1.245,1.245,0,0,1,5.735,4.49h4.98a1.245,1.245,0,1,0,0-2.49H5.735A3.735,3.735,0,0,0,2,5.735v4.98A1.245,1.245,0,0,0,3.245,11.96Z" transform="translate(0 0)" fill="#2e303a"/>
|
||||
<path id="Path_4381" data-name="Path 4381" d="M20.225,2h-4.98a1.245,1.245,0,0,0,0,2.49h4.98A1.245,1.245,0,0,1,21.47,5.735v4.98a1.245,1.245,0,1,0,2.49,0V5.735A3.735,3.735,0,0,0,20.225,2Z" transform="translate(2.94 0)" fill="#2e303a"/>
|
||||
<path id="Path_4382" data-name="Path 4382" d="M22.715,14a1.245,1.245,0,0,0-1.245,1.245v4.98a1.245,1.245,0,0,1-1.245,1.245h-4.98a1.245,1.245,0,0,0,0,2.49h4.98a3.735,3.735,0,0,0,3.735-3.735v-4.98A1.245,1.245,0,0,0,22.715,14Z" transform="translate(2.94 2.94)" fill="#2e303a"/>
|
||||
<path id="Path_4383" data-name="Path 4383" d="M10.715,21.47H5.735A1.245,1.245,0,0,1,4.49,20.225v-4.98a1.245,1.245,0,0,0-2.49,0v4.98A3.735,3.735,0,0,0,5.735,23.96h4.98a1.245,1.245,0,1,0,0-2.49Z" transform="translate(0 2.94)" fill="#2e303a"/>
|
||||
<rect id="Rectangle_17370" data-name="Rectangle 17370" width="15" height="15" rx="2" transform="translate(7 6.899)" fill="#2e303a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="26.552" height="20.755" viewBox="0 0 26.552 20.755">
|
||||
<g id="mail-reply" transform="translate(0 -40.338)">
|
||||
<path id="Path_4384" data-name="Path 4384" d="M21.236,51.705h.129a1.8,1.8,0,0,1,2.761-2.272l.788.788V42.437a2.1,2.1,0,0,0-2.1-2.1H2.1a2.1,2.1,0,0,0-2.1,2.1V56.921a2.1,2.1,0,0,0,2.1,2.1H16.575a5.14,5.14,0,0,1,4.66-7.314ZM5.213,43.167H19.7l-7.244,5.312Z" fill="#2e303a"/>
|
||||
<path id="Path_4385" data-name="Path 4385" d="M245.767,175.159l-2.8-2.8a.9.9,0,1,0-1.27,1.27l1.265,1.265h-2.25a4.245,4.245,0,0,0,0,8.489.9.9,0,1,0,0-1.8,2.448,2.448,0,0,1,0-4.9h2.25l-1.265,1.265a.9.9,0,0,0,1.27,1.27l2.8-2.8a.9.9,0,0,0,0-1.27Z" transform="translate(-219.478 -122.292)" fill="#2e303a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 749 B |
@ -0,0 +1,3 @@
|
||||
<svg id="weekly-calendar-page-symbol" xmlns="http://www.w3.org/2000/svg" width="25.034" height="25.034" viewBox="0 0 25.034 25.034">
|
||||
<path id="Path_4379" data-name="Path 4379" d="M22.53,0H2.5A2.511,2.511,0,0,0,0,2.5V22.53a2.512,2.512,0,0,0,2.5,2.5H22.53a2.512,2.512,0,0,0,2.5-2.5V2.5A2.511,2.511,0,0,0,22.53,0ZM6.756,22.031H2.921V18.62H6.756v3.411Zm0-4.555H2.921v-3.41H6.756v3.41ZM6.467,3.794A1.063,1.063,0,1,1,7.529,2.731,1.062,1.062,0,0,1,6.467,3.794Zm5.406,18.237H8.039V18.62h3.834Zm0-4.555H8.039v-3.41h3.834Zm0-4.552H8.039V9.514h3.834ZM11.455,2.731a1.062,1.062,0,1,1,1.062,1.062A1.062,1.062,0,0,1,11.455,2.731Zm5.54,14.745H13.159v-3.41H17v3.41Zm0-4.552H13.159V9.514H17v3.41ZM17.5,2.731a1.062,1.062,0,1,1,1.062,1.062A1.062,1.062,0,0,1,17.5,2.731Zm4.609,14.745H18.278v-3.41h3.835Zm0-4.552H18.278V9.514h3.835Z" fill="#2e303a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 838 B |
@ -0,0 +1,57 @@
|
||||
<svg id="woman_2_" data-name="woman (2)" xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
|
||||
<g id="Group_7145" data-name="Group 7145">
|
||||
<g id="Group_7144" data-name="Group 7144">
|
||||
<g id="Group_7143" data-name="Group 7143">
|
||||
<g id="Group_7142" data-name="Group 7142">
|
||||
<g id="XMLID_2114_">
|
||||
<g id="XMLID_2115_">
|
||||
<g id="XMLID_2116_">
|
||||
<g id="XMLID_2117_">
|
||||
<g id="XMLID_2118_">
|
||||
<g id="XMLID_2119_">
|
||||
<g id="XMLID_2120_">
|
||||
<g id="XMLID_2121_">
|
||||
<g id="XMLID_2122_">
|
||||
<g id="XMLID_2123_">
|
||||
<g id="XMLID_2124_">
|
||||
<g id="XMLID_2125_">
|
||||
<g id="XMLID_2126_">
|
||||
<g id="XMLID_2127_">
|
||||
<g id="Group_7141" data-name="Group 7141">
|
||||
<path id="Path_4450" data-name="Path 4450" d="M48,24a23.928,23.928,0,0,1-6.947,16.887C36.7,45.279,30.669,42.776,24,42.776s-12.7,2.5-17.053-1.889A24,24,0,1,1,48,24Z" fill="#e2e2e2"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path id="Path_4451" data-name="Path 4451" d="M48,24q0-1.087-.1-2.151L33.541,7.485,14.75,23.632,31.62,40.5l1.688,2.974c2.921.089,5.548-.37,7.745-2.589A23.928,23.928,0,0,0,48,24Z" fill="#c4c4c4"/>
|
||||
<path id="Path_4452" data-name="Path 4452" d="M24,3.287C20.723,2.9,8.986,6.052,12.5,19.837c.924,3.622,4.646,5.913,6.284,6.51,2.5.913,2.742-.517,5.214-2.007,2.472,1.49,2.71,2.919,5.214,2.007,1.638-.6,5.36-2.888,6.284-6.51C39.014,6.052,27.277,2.9,24,3.287Z" fill="#515151"/>
|
||||
<path id="Path_4453" data-name="Path 4453" d="M35.5,19.838c-.924,3.622-4.646,5.913-6.284,6.51-2.5.913-2.742-.517-5.213-2.007V3.287C27.277,2.9,39.014,6.052,35.5,19.837Z" fill="#3d3d3d"/>
|
||||
<path id="Path_4454" data-name="Path 4454" d="M18.747,23.459H29.253V34.6H18.747Z" fill="#eaa678"/>
|
||||
<path id="Path_4455" data-name="Path 4455" d="M24,23.46h5.253V34.6H24Z" fill="#d38c5b"/>
|
||||
<path id="Path_4456" data-name="Path 4456" d="M18.747,30.452H29.253V41.593H18.747Z" fill="#ffc397"/>
|
||||
<path id="Path_4457" data-name="Path 4457" d="M24,30.452h5.253V41.593H24Z" fill="#eaa678"/>
|
||||
<path id="Path_4458" data-name="Path 4458" d="M41.053,35.918v4.969a24,24,0,0,1-34.106,0V35.918a5.466,5.466,0,0,1,5.466-5.467h6.335L24,37.18l5.253-6.728h6.335A5.466,5.466,0,0,1,41.053,35.918Z" fill="#d02127"/>
|
||||
<path id="Path_4459" data-name="Path 4459" d="M41.053,35.918v4.969A23.925,23.925,0,0,1,24,48V37.18l5.253-6.728h6.335A5.466,5.466,0,0,1,41.053,35.918Z" fill="#aa191e"/>
|
||||
<path id="Path_4460" data-name="Path 4460" d="M28.256,39.447a2.908,2.908,0,0,0-1.3,2.649c.172,1.751,2.3,3.292,2.3,3.292s3.4-3.062,2.069-5.94l-1.446-.556Z" fill="#3d3d3d"/>
|
||||
<path id="Path_4461" data-name="Path 4461" d="M32.274,14.271C31.924,8.965,27.632,7,24,7s-7.924,1.961-8.274,7.267a2.285,2.285,0,0,0-1.5,2.409l.161,2.267a1.875,1.875,0,0,0,2.043,1.7l.175-.019c2.076,5.573,5.33,6.154,7.4,6.48,2.066-.326,5.321-.907,7.4-6.48l.175.019a1.875,1.875,0,0,0,2.043-1.7l.161-2.267A2.285,2.285,0,0,0,32.274,14.271Z" fill="#ffc397"/>
|
||||
<path id="Path_4462" data-name="Path 4462" d="M33.775,16.681l-.161,2.267a1.875,1.875,0,0,1-2.043,1.7l-.175-.019a11.863,11.863,0,0,1-2.445,4.151A7.942,7.942,0,0,1,24,27.1V7c3.632,0,7.924,1.961,8.274,7.267a2.285,2.285,0,0,1,1.5,2.409Z" fill="#eaa678"/>
|
||||
<path id="Path_4463" data-name="Path 4463" d="M24,4.977c-5.521-1.2-9.452,2.277-9.539,6.282a10.3,10.3,0,0,0,3.027,6.969c-.053-3.326,1-4.7,3.062-5.438A8.7,8.7,0,0,0,24,9.96a8.7,8.7,0,0,0,3.45,2.83c2.059.739,3.115,2.112,3.062,5.438a10.3,10.3,0,0,0,3.027-6.969C33.452,7.253,29.521,3.772,24,4.977Z" fill="#515151"/>
|
||||
<path id="Path_4464" data-name="Path 4464" d="M33.539,11.259a10.305,10.305,0,0,1-3.027,6.968c.052-3.326-1-4.7-3.062-5.437A8.7,8.7,0,0,1,24,9.96V4.976C29.521,3.772,33.452,7.253,33.539,11.259Z" fill="#3d3d3d"/>
|
||||
<path id="Path_4465" data-name="Path 4465" d="M33.389,27.8a6.76,6.76,0,0,0-.026-5.35l-3.618,2.514a2.626,2.626,0,0,0-.524.48,2.882,2.882,0,0,0-.2,3.919,3.365,3.365,0,0,0-.367.422,2.833,2.833,0,0,0,.006,3.69c-.043.042-.085.086-.124.132-2.549,2.97.917,5.083.917,5.083a5.421,5.421,0,0,0,3.554-6.78A6.03,6.03,0,0,0,33.389,27.8Z" fill="#3d3d3d"/>
|
||||
<path id="Path_4466" data-name="Path 4466" d="M31.27,39.657H28.377a.7.7,0,0,1-.7-.7V37.87a.7.7,0,0,1,.7-.7H31.27a.7.7,0,0,1,.7.7v1.087A.7.7,0,0,1,31.27,39.657Z" fill="#d02127"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12.179" height="12.188" viewBox="0 0 12.179 12.188">
|
||||
<path id="Path_4406" data-name="Path 4406" d="M12.039,10.586c1.24-1.24,1.644-1.48,1.348-1.776L12.38,7.8a.3.3,0,0,0-.427,0L10.6,9.152l-.976-.976A4.378,4.378,0,1,0,8.2,9.615l.973.972c-1.24,1.24-1.644,1.48-1.348,1.776L8.828,13.37a.3.3,0,0,0,.427,0L10.6,12.022c1.457,1.457,1.679,1.847,1.977,1.55.97-.97,1.1-1.02,1.1-1.222s-.058-.183-1.638-1.764ZM5.892,8.77a2.9,2.9,0,1,1,2.9-2.9A2.9,2.9,0,0,1,5.892,8.77Z" transform="translate(-1.498 -1.476)" fill="#f0448d"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 565 B |
@ -0,0 +1,4 @@
|
||||
<svg id="hospital_3_" data-name="hospital (3)" xmlns="http://www.w3.org/2000/svg" width="20.5" height="20.5" viewBox="0 0 20.5 20.5">
|
||||
<path id="Path_4585" data-name="Path 4585" d="M19.9,182.442a.6.6,0,0,0-.6.6v3H18a2.982,2.982,0,0,0-2.921-2.4H8.648v.578L7.413,184.2a3.059,3.059,0,0,0-2.577-.643,1.8,1.8,0,1,0-3.512-.652l-.123-.077V180.6a.6.6,0,0,0-1.2,0v12.092a.6.6,0,0,0,1.2,0v-3H19.3v3a.6.6,0,0,0,1.2,0v-9.649A.6.6,0,0,0,19.9,182.442Zm-18.7,3.6v-1.8l2.853,1.8Z" transform="translate(0 -172.793)" fill="#28323a"/>
|
||||
<path id="Path_4586" data-name="Path 4586" d="M136.6,1.842h1.2v1.2h-.6a.6.6,0,0,0-.6.6v1.2a1.8,1.8,0,0,0,3.6,0v-1.2a.6.6,0,0,0-.6-.6H139v-1.2h2.4V9.649h1.2V.6a.6.6,0,1,0-1.2.04h-4.8a.6.6,0,0,0,0,1.2Z" transform="translate(-130.555)" fill="#28323a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 776 B |
@ -0,0 +1,56 @@
|
||||
<svg id="man_5_" data-name="man (5)" xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
|
||||
<g id="Group_7139" data-name="Group 7139">
|
||||
<g id="Group_7138" data-name="Group 7138">
|
||||
<g id="Group_7137" data-name="Group 7137">
|
||||
<g id="Group_7136" data-name="Group 7136">
|
||||
<g id="XMLID_2211_">
|
||||
<g id="XMLID_2212_">
|
||||
<g id="XMLID_2213_">
|
||||
<g id="XMLID_2214_">
|
||||
<g id="XMLID_2215_">
|
||||
<g id="XMLID_2216_">
|
||||
<g id="XMLID_2217_">
|
||||
<g id="XMLID_2218_">
|
||||
<g id="XMLID_2219_">
|
||||
<g id="XMLID_2220_">
|
||||
<g id="XMLID_2221_">
|
||||
<g id="XMLID_2222_">
|
||||
<g id="XMLID_2223_">
|
||||
<g id="XMLID_2224_">
|
||||
<g id="XMLID_2225_">
|
||||
<path id="Path_4436" data-name="Path 4436" d="M0,24A24,24,0,1,1,42.887,38.81c-4.394,5.6-11.221,3.983-18.887,3.983S9.507,44.405,5.113,38.81A23.9,23.9,0,0,1,0,24Z" fill="#e2e2e2"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path id="Path_4437" data-name="Path 4437" d="M42.887,38.81A23.9,23.9,0,0,0,48,24q0-.493-.02-.982L34.651,9.689C26.856,6.362,15.212,20.337,15.212,20.337l9.778,9.778,4.217,12.829C34.718,43.153,39.518,43.1,42.887,38.81Z" fill="#c4c4c4"/>
|
||||
<g id="Group_7140" data-name="Group 7140">
|
||||
<path id="Path_4438" data-name="Path 4438" d="M18.747,23.459H29.253V34.6H18.747Z" fill="#eaa678"/>
|
||||
<path id="Path_4439" data-name="Path 4439" d="M24,23.46h5.253V34.6H24Z" fill="#d38c5b"/>
|
||||
<path id="Path_4440" data-name="Path 4440" d="M32.43,46.477a23.683,23.683,0,0,1-3.177.946,24.178,24.178,0,0,1-10.506,0,23.683,23.683,0,0,1-3.177-.946l3.177-16.024L24,33.857l5.253-3.4Z" fill="#d02127"/>
|
||||
<path id="Path_4441" data-name="Path 4441" d="M32.43,46.477a23.683,23.683,0,0,1-3.177.946A24,24,0,0,1,24,48V33.857l5.253-3.4Z" fill="#aa191e"/>
|
||||
<path id="Path_4442" data-name="Path 4442" d="M18.747,30.452V47.423A24,24,0,0,1,5.113,38.81V35.741A5.289,5.289,0,0,1,10.4,30.452Z" fill="#2b353e"/>
|
||||
<path id="Path_4443" data-name="Path 4443" d="M42.887,35.741V38.81a24,24,0,0,1-13.634,8.613V30.452H37.6A5.289,5.289,0,0,1,42.887,35.741Z" fill="#2b353e"/>
|
||||
<path id="Path_4444" data-name="Path 4444" d="M13.7,39.923v5.761a23.726,23.726,0,0,1-3.023-1.717V39.923Z" fill="#989898"/>
|
||||
<path id="Path_4445" data-name="Path 4445" d="M37.362,39.923v4.016a23.888,23.888,0,0,1-3.023,1.725V39.923Z" fill="#989898"/>
|
||||
<path id="Path_4446" data-name="Path 4446" d="M32.274,14.271C31.924,8.965,27.632,7,24,7s-7.924,1.961-8.274,7.267a2.285,2.285,0,0,0-1.5,2.409l.161,2.267a1.875,1.875,0,0,0,2.043,1.7l.175-.019c2.075,5.573,5.33,6.154,7.4,6.48,2.066-.326,5.321-.907,7.4-6.48l.175.019a1.875,1.875,0,0,0,2.043-1.7l.161-2.267A2.285,2.285,0,0,0,32.274,14.271Z" fill="#ffc397"/>
|
||||
<path id="Path_4447" data-name="Path 4447" d="M33.775,16.681l-.161,2.267a1.875,1.875,0,0,1-2.043,1.7l-.175-.019a11.863,11.863,0,0,1-2.445,4.151A7.942,7.942,0,0,1,24,27.1V7c3.632,0,7.924,1.961,8.274,7.267a2.285,2.285,0,0,1,1.5,2.409Z" fill="#eaa678"/>
|
||||
<path id="Path_4448" data-name="Path 4448" d="M34.651,9.689A13.957,13.957,0,0,0,24,4.41a8.424,8.424,0,0,0-4.772,1.436c-.026,0-3.178-.265-4.44,1.943s-.107,6.613,1.16,8.619L17.426,17.7l.68-4.473a17.48,17.48,0,0,0,11.514-.762l.8,5.234,1.478-1.294A12.875,12.875,0,0,0,33.6,10.422C34.277,9.986,34.651,9.689,34.651,9.689Z" fill="#515151"/>
|
||||
<path id="Path_4449" data-name="Path 4449" d="M29.619,12.467l.8,5.234,1.478-1.294A12.875,12.875,0,0,0,33.6,10.422c.677-.436,1.051-.733,1.051-.733A13.956,13.956,0,0,0,24,4.41v9.415A19.77,19.77,0,0,0,29.619,12.467Z" fill="#3d3d3d"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1,3 @@
|
||||
<svg id="_14._Men_sign" data-name="14. Men sign" xmlns="http://www.w3.org/2000/svg" width="12.739" height="12.739" viewBox="0 0 12.739 12.739">
|
||||
<path id="Path_4403" data-name="Path 4403" d="M13.928,1.5H8.757a.313.313,0,0,0-.313.313V3.2a.313.313,0,0,0,.313.313h1.988l-2.3,2.3A4.553,4.553,0,1,0,9.93,7.3l2.3-2.3V6.984a.313.313,0,0,0,.313.313h1.383a.313.313,0,0,0,.313-.313V1.813a.313.313,0,0,0-.313-.313ZM6.057,12.687a3,3,0,1,1,3-3,3,3,0,0,1-3,3Z" transform="translate(-1.502 -1.5)" fill="#1474d5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 507 B |
@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22.631" height="6.466" viewBox="0 0 22.631 6.466">
|
||||
<g id="more_1_" data-name="more (1)" transform="translate(0 -170.666)">
|
||||
<g id="Group_7031" data-name="Group 7031" transform="translate(0 170.666)">
|
||||
<g id="Group_7030" data-name="Group 7030" transform="translate(0 0)">
|
||||
<circle id="Ellipse_145" data-name="Ellipse 145" cx="3.233" cy="3.233" r="3.233"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7033" data-name="Group 7033" transform="translate(8.082 170.666)">
|
||||
<g id="Group_7032" data-name="Group 7032" transform="translate(0 0)">
|
||||
<circle id="Ellipse_146" data-name="Ellipse 146" cx="3.233" cy="3.233" r="3.233"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7035" data-name="Group 7035" transform="translate(16.165 170.666)">
|
||||
<g id="Group_7034" data-name="Group 7034" transform="translate(0 0)">
|
||||
<circle id="Ellipse_147" data-name="Ellipse 147" cx="3.233" cy="3.233" r="3.233"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 996 B |
@ -0,0 +1,69 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="118.141" height="107.644" viewBox="0 0 118.141 107.644">
|
||||
<g id="content" transform="translate(0 -22.748)">
|
||||
<g id="Group_7442" data-name="Group 7442" transform="translate(1.731 28.436)">
|
||||
<g id="Group_7439" data-name="Group 7439" transform="translate(0 8.932)">
|
||||
<g id="Group_7438" data-name="Group 7438">
|
||||
<g id="Group_7434" data-name="Group 7434" transform="translate(0 21.014)">
|
||||
<g id="Group_7430" data-name="Group 7430" transform="translate(63.164)">
|
||||
<g id="Group_7429" data-name="Group 7429">
|
||||
<path id="Path_4552" data-name="Path 4552" d="M332.756,179.321v66a2.139,2.139,0,0,1-2.141,2.139H283.381a2.141,2.141,0,0,1-2.141-2.139v-66a2.143,2.143,0,0,1,2.141-2.141h47.233a2.141,2.141,0,0,1,2.141,2.141Z" transform="translate(-281.24 -177.18)" fill="#fff"/>
|
||||
<g id="Group_7428" data-name="Group 7428">
|
||||
<path id="Path_4553" data-name="Path 4553" d="M304.644,177.18v63.254a2.475,2.475,0,0,1-2.476,2.476H281.24V179.321a2.143,2.143,0,0,1,2.141-2.141Z" transform="translate(-281.24 -177.18)" fill="#dbdbdb"/>
|
||||
<path id="Path_4554" data-name="Path 4554" d="M332.758,195.96V179.322a2.141,2.141,0,0,0-2.141-2.141H283.384a2.141,2.141,0,0,0-2.141,2.141V195.96Z" transform="translate(-281.242 -177.18)" fill="#dbdbdb"/>
|
||||
<path id="Path_4555" data-name="Path 4555" d="M473.157,179.319v66a2.14,2.14,0,0,1-2.141,2.141h-7.26a2.14,2.14,0,0,0,2.141-2.141v-66a2.141,2.141,0,0,0-2.141-2.141h7.26A2.141,2.141,0,0,1,473.157,179.319Z" transform="translate(-421.642 -177.178)" fill="#dbdbdb"/>
|
||||
</g>
|
||||
<path id="Path_4556" data-name="Path 4556" d="M332.756,179.321V189.4H281.24V179.321a2.143,2.143,0,0,1,2.141-2.141h47.233A2.141,2.141,0,0,1,332.756,179.321Z" transform="translate(-281.24 -177.18)" fill="#d02127"/>
|
||||
<path id="Path_4557" data-name="Path 4557" d="M371.453,179.57a6.171,6.171,0,1,1-11.863-2.391h11.383A6.141,6.141,0,0,1,371.453,179.57Z" transform="translate(-341.142 -177.18)" fill="#d02127"/>
|
||||
<path id="Path_4558" data-name="Path 4558" d="M473.157,179.319v10.075H465.9V179.319a2.141,2.141,0,0,0-2.141-2.141h7.26A2.141,2.141,0,0,1,473.157,179.319Z" transform="translate(-421.642 -177.178)" fill="#d02127"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7433" data-name="Group 7433">
|
||||
<g id="Group_7432" data-name="Group 7432">
|
||||
<path id="Path_4559" data-name="Path 4559" d="M59.016,179.321v66a2.141,2.141,0,0,1-2.141,2.139H9.641A2.139,2.139,0,0,1,7.5,245.319v-66a2.141,2.141,0,0,1,2.141-2.141H56.875a2.143,2.143,0,0,1,2.141,2.141Z" transform="translate(-7.5 -177.18)" fill="#fff"/>
|
||||
<g id="Group_7431" data-name="Group 7431" transform="translate(0)">
|
||||
<path id="Path_4560" data-name="Path 4560" d="M148.988,179.321V242.91H126.936a2.476,2.476,0,0,1-2.476-2.476V177.18h22.387a2.143,2.143,0,0,1,2.141,2.141Z" transform="translate(-97.472 -177.18)" fill="#dbdbdb"/>
|
||||
<path id="Path_4561" data-name="Path 4561" d="M59.015,195.96V179.322a2.141,2.141,0,0,0-2.141-2.141H9.641A2.141,2.141,0,0,0,7.5,179.322V195.96Z" transform="translate(-7.5 -177.18)" fill="#dbdbdb"/>
|
||||
<path id="Path_4562" data-name="Path 4562" d="M199.413,179.319v66a2.14,2.14,0,0,1-2.141,2.141h-7.26a2.14,2.14,0,0,0,2.141-2.141v-66a2.141,2.141,0,0,0-2.141-2.141h7.26A2.141,2.141,0,0,1,199.413,179.319Z" transform="translate(-147.898 -177.178)" fill="#dbdbdb"/>
|
||||
</g>
|
||||
<path id="Path_4563" data-name="Path 4563" d="M59.015,189.4H7.5V179.323a2.141,2.141,0,0,1,2.141-2.141H56.875a2.141,2.141,0,0,1,2.141,2.141Z" transform="translate(-7.5 -177.181)" fill="#d02127"/>
|
||||
<path id="Path_4564" data-name="Path 4564" d="M199.413,179.319v10.075h-7.26V179.319a2.141,2.141,0,0,0-2.141-2.141h7.26A2.141,2.141,0,0,1,199.413,179.319Z" transform="translate(-147.898 -177.178)" fill="#20bfd5"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7437" data-name="Group 7437" transform="translate(26.988)">
|
||||
<g id="Group_7436" data-name="Group 7436">
|
||||
<path id="Path_4565" data-name="Path 4565" d="M181.569,167.391H126.94a2.476,2.476,0,0,1-2.476-2.476V88.586a2.476,2.476,0,0,1,2.476-2.476h54.629a2.476,2.476,0,0,1,2.476,2.476v76.329A2.476,2.476,0,0,1,181.569,167.391Z" transform="translate(-124.463 -86.109)" fill="#fff"/>
|
||||
<path id="Path_4566" data-name="Path 4566" d="M184.044,106.725V88.586a2.476,2.476,0,0,0-2.476-2.476H126.94a2.476,2.476,0,0,0-2.476,2.476v18.14Z" transform="translate(-124.463 -86.109)" fill="#dbdbdb"/>
|
||||
<path id="Path_4567" data-name="Path 4567" d="M346.423,88.582v76.33a2.475,2.475,0,0,1-2.476,2.476h-8.4a2.475,2.475,0,0,0,2.476-2.476V88.582a2.476,2.476,0,0,0-2.476-2.476h8.4A2.476,2.476,0,0,1,346.423,88.582Z" transform="translate(-286.842 -86.106)" fill="#dbdbdb"/>
|
||||
<path id="Path_4568" data-name="Path 4568" d="M184.041,88.586v11.653H124.46V88.586a2.476,2.476,0,0,1,2.476-2.476h54.629A2.475,2.475,0,0,1,184.041,88.586Z" transform="translate(-124.46 -86.109)" fill="#d02127"/>
|
||||
<g id="Group_7435" data-name="Group 7435" transform="translate(37.747)">
|
||||
<path id="Path_4569" data-name="Path 4569" d="M299.01,88.138a5.48,5.48,0,1,1-10.57-2.028h10.18A5.435,5.435,0,0,1,299.01,88.138Z" transform="translate(-288.05 -86.109)" fill="#d02127"/>
|
||||
<path id="Path_4570" data-name="Path 4570" d="M346.423,88.582v11.653h-8.4V88.582a2.476,2.476,0,0,0-2.476-2.476h8.4A2.476,2.476,0,0,1,346.423,88.582Z" transform="translate(-324.59 -86.106)" fill="#d02127"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7440" data-name="Group 7440" transform="translate(81.132 21.147)">
|
||||
<path id="Path_4571" data-name="Path 4571" d="M359.11,145.215a6.171,6.171,0,1,1,6.171,6.171,6.171,6.171,0,0,1-6.171-6.171" transform="translate(-359.11 -139.044)" fill="#d02127"/>
|
||||
<path id="Path_4572" data-name="Path 4572" d="M372.29,150.533a5.46,5.46,0,0,0,0-10.638,6.173,6.173,0,1,1,0,10.638" transform="translate(-369.249 -139.044)" fill="#d02127"/>
|
||||
</g>
|
||||
<g id="Group_7441" data-name="Group 7441" transform="translate(64.735)">
|
||||
<path id="Path_4573" data-name="Path 4573" d="M288.05,52.878a5.48,5.48,0,1,1,5.48,5.48,5.48,5.48,0,0,1-5.48-5.48" transform="translate(-288.05 -47.398)" fill="#d02127"/>
|
||||
<path id="Path_4574" data-name="Path 4574" d="M299.754,57.6a4.849,4.849,0,0,0,0-9.446,5.481,5.481,0,1,1,0,9.446" transform="translate(-297.053 -47.397)" fill="#d02127"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_7443" data-name="Group 7443" transform="translate(0 22.748)">
|
||||
<path id="Path_4575" data-name="Path 4575" d="M114.27,69.844H96.883a7.887,7.887,0,0,0-6.853-8.735V53.036a4.211,4.211,0,0,0-4.206-4.206H78.948a7.211,7.211,0,1,0-14,0H31.2a4.211,4.211,0,0,0-4.206,4.206V69.844H21.93a1.731,1.731,0,0,0,0,3.461h5.058V82.06H3.461V73.716a.411.411,0,0,1,.41-.41h9.515a1.731,1.731,0,0,0,0-3.461H3.871A3.876,3.876,0,0,0,0,73.716v66a3.876,3.876,0,0,0,3.871,3.871H51.105a3.876,3.876,0,0,0,3.871-3.871v-6.14h8.188v6.14a3.876,3.876,0,0,0,3.871,3.871H81.123a1.731,1.731,0,0,0,0-3.461H67.036a.41.41,0,0,1-.41-.41v-6.14h19.2a4.211,4.211,0,0,0,4.206-4.206V85.521h24.65v54.191a.41.41,0,0,1-.41.41h-24.6a1.731,1.731,0,0,0,0,3.461h24.6a3.876,3.876,0,0,0,3.871-3.871v-66a3.876,3.876,0,0,0-3.871-3.871Zm-20.8-.9a4.441,4.441,0,1,1-4.441-4.441A4.446,4.446,0,0,1,93.475,68.946ZM71.946,43.358a3.75,3.75,0,1,1-3.75,3.75A3.754,3.754,0,0,1,71.946,43.358ZM31.2,52.291H66.941a7.192,7.192,0,0,0,10.011,0h8.873a.746.746,0,0,1,.745.745v8.4a7.9,7.9,0,0,0-2.683,1.519H30.45V53.036a.746.746,0,0,1,.745-.745Zm54.629,77.82H31.2a.746.746,0,0,1-.745-.745V109.979a1.731,1.731,0,0,0-3.461,0v19.386a4.211,4.211,0,0,0,4.206,4.206h20.32v6.14a.41.41,0,0,1-.41.41H3.871a.41.41,0,0,1-.41-.41V85.521H26.989v15.915a1.731,1.731,0,1,0,3.461,0V66.419h51.1a7.895,7.895,0,0,0,5.021,10.033v52.913A.746.746,0,0,1,85.824,130.111ZM90.03,82.06V76.783a7.909,7.909,0,0,0,5.59-3.478h18.65a.41.41,0,0,1,.41.41V82.06H90.03Z" transform="translate(0 -35.94)" fill="#2e303a"/>
|
||||
<path id="Path_4576" data-name="Path 4576" d="M238.224,296.64a8.143,8.143,0,0,0-5.276-1.877h-.027a8.138,8.138,0,0,0-5.261,1.846,1.73,1.73,0,1,0,2.231,2.646,4.746,4.746,0,0,1,3.03-1.03h.015a4.75,4.75,0,0,1,3.04,1.048,1.731,1.731,0,0,0,2.247-2.633Z" transform="translate(-174.656 -231.997)"/>
|
||||
<path id="Path_4577" data-name="Path 4577" d="M288.664,267.015l-.045,0h-.03a1.73,1.73,0,0,0-.156,3.452l.039,0c.042,0,.085.007.128.007h.01a1.73,1.73,0,0,0,.054-3.459Z" transform="translate(-220.675 -210.65)"/>
|
||||
<path id="Path_4578" data-name="Path 4578" d="M207.009,267.012h-.03a1.731,1.731,0,0,0,.011,3.461H207a1.731,1.731,0,0,0,.009-3.461Z" transform="translate(-157.897 -210.65)"/>
|
||||
<path id="Path_4579" data-name="Path 4579" d="M156.674,112.612h.009c.038,0,.077,0,.115.006l.062,0h.009a1.73,1.73,0,0,0,.346-3.426h-.007c-.053-.011-.108-.019-.162-.025-.02,0-.04,0-.06,0-.036,0-.072-.006-.109-.006h-.031a1.721,1.721,0,0,0-1.722,1.731,1.738,1.738,0,0,0,1.549,1.719Z" transform="translate(-119.331 -89.223)"/>
|
||||
<path id="Path_4580" data-name="Path 4580" d="M179.553,112.623a1.731,1.731,0,0,0,0-3.461h-.021a1.722,1.722,0,0,0-1.72,1.731A1.74,1.74,0,0,0,179.553,112.623Z" transform="translate(-136.783 -89.223)"/>
|
||||
<path id="Path_4581" data-name="Path 4581" d="M202.243,112.623a1.731,1.731,0,0,0,0-3.461h-.021a1.722,1.722,0,0,0-1.72,1.731A1.74,1.74,0,0,0,202.243,112.623Z" transform="translate(-154.237 -89.223)"/>
|
||||
<path id="Path_4582" data-name="Path 4582" d="M53.4,116.408a1.73,1.73,0,0,0,2.447,0l.922-.922.922.922a1.73,1.73,0,0,0,2.447-2.447l-.922-.922.922-.922A1.73,1.73,0,0,0,57.7,109.67l-.922.922-.922-.922a1.73,1.73,0,0,0-2.447,2.447l.922.922-.922.922A1.73,1.73,0,0,0,53.4,116.408Z" transform="translate(-40.692 -89.223)"/>
|
||||
<path id="Path_4583" data-name="Path 4583" d="M428.867,107.109a1.73,1.73,0,0,0,2.447,0l.922-.922.922.922a1.73,1.73,0,0,0,2.447-2.447l-.922-.922.922-.922a1.73,1.73,0,0,0-2.447-2.447l-.922.922-.922-.922a1.73,1.73,0,1,0-2.447,2.447l.922.922-.922.922A1.73,1.73,0,0,0,428.867,107.109Z" transform="translate(-329.518 -82.07)"/>
|
||||
<path id="Path_4584" data-name="Path 4584" d="M237.941,29.993a1.73,1.73,0,0,0,2.447,0l.922-.922.922.922a1.73,1.73,0,0,0,2.447-2.447l-.922-.922.922-.922a1.73,1.73,0,0,0-2.447-2.447l-.922.922-.922-.922a1.73,1.73,0,1,0-2.447,2.447l.922.922-.922.922A1.73,1.73,0,0,0,237.941,29.993Z" transform="translate(-182.648 -22.748)"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25.347" height="25.347" viewBox="0 0 25.347 25.347">
|
||||
<path id="ekg-monitor" d="M.878,0H24.471a.878.878,0,0,1,.877.877V11.77l-7.647,0a.906.906,0,0,0-.845.582l-1.678,4.393L10.98,5.741a.9.9,0,0,0-.846-.583h0a.9.9,0,0,0-.846.582L6.982,11.774,0,11.77V.878A.878.878,0,0,1,.878,0ZM24.471,25.348a.878.878,0,0,0,.877-.877V13.58l-7.023,0-2.3,6.026a.905.905,0,0,1-1.692,0L10.133,8.6,8.451,13a.906.906,0,0,1-.846.582h0l-7.6,0V24.471a.878.878,0,0,0,.877.877H24.471Z" transform="translate(-0.001 -0.001)" fill="#28323a" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 584 B |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="33.043" height="27.106" viewBox="0 0 33.043 27.106">
|
||||
<path id="process" d="M28.2,19.555,27.042,21.1l1.549,1.162H25.1a3.868,3.868,0,0,0-3.735-2.9H11.681a3.868,3.868,0,0,0-3.735,2.9H5.808a3.872,3.872,0,0,1,0-7.744H7.946a3.868,3.868,0,0,0,3.735,2.9h9.681a3.868,3.868,0,0,0,3.735-2.9h2.138a5.808,5.808,0,1,0,0-11.617H25.1A3.868,3.868,0,0,0,21.362,0H11.681A3.868,3.868,0,0,0,7.946,2.9H7.1L3.485.194,2.324,1.742,3.872,2.9H0V4.84H3.872L2.324,6,3.485,7.551,7.1,4.84h.847a3.868,3.868,0,0,0,3.735,2.9h9.681A3.868,3.868,0,0,0,25.1,4.84h2.138a3.872,3.872,0,1,1,0,7.744H25.1a3.868,3.868,0,0,0-3.735-2.9H11.681a3.868,3.868,0,0,0-3.735,2.9H5.808a5.808,5.808,0,1,0,0,11.617H7.946a3.868,3.868,0,0,0,3.735,2.9h9.681A3.868,3.868,0,0,0,25.1,24.2h3.494l-1.549,1.162L28.2,26.912l4.84-3.678Zm0,0" fill="#28323a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 847 B |
@ -0,0 +1,13 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="31.83" height="27.976" viewBox="0 0 31.83 27.976">
|
||||
<g id="sticky-note" transform="translate(0 -31.001)">
|
||||
<g id="Group_7171" data-name="Group 7171" transform="translate(11.19 31.001)">
|
||||
<path id="Path_4476" data-name="Path 4476" d="M180,38.461V31.934a.933.933,0,0,1,1.865,0v6.528Z" transform="translate(-180 -31.001)" fill="#28323a"/>
|
||||
</g>
|
||||
<g id="Group_7172" data-name="Group 7172" transform="translate(0 46.403)">
|
||||
<path id="Path_4477" data-name="Path 4477" d="M8.393,289.46a2.779,2.779,0,0,1-1.978-.819A28.3,28.3,0,0,1,0,278.751v11.641a.933.933,0,0,0,.933.933H23.313a.933.933,0,0,0,.933-.933v-.933Z" transform="translate(0 -278.751)" fill="#28323a"/>
|
||||
</g>
|
||||
<g id="Group_7173" data-name="Group 7173" transform="translate(0 34.731)">
|
||||
<path id="Path_4478" data-name="Path 4478" d="M31.557,109.924a24.777,24.777,0,0,1-7.312-17.351v-.64A.933.933,0,0,0,23.313,91H14.92v4.663a.933.933,0,0,1-.933.933h-3.73a.933.933,0,0,1-.933-.933V91H.933A.933.933,0,0,0,0,91.934v.64a26.393,26.393,0,0,0,7.733,18.67.934.934,0,0,0,.66.273H30.9a.933.933,0,0,0,.66-1.592ZM12.123,98.461h7.46a.933.933,0,0,1,0,1.865h-7.46a.933.933,0,0,1,0-1.865Zm7.46,9.325H10.258a.933.933,0,0,1,0-1.865h9.325a.933.933,0,0,1,0,1.865Zm1.865-3.73H8.393a.933.933,0,1,1,0-1.865H21.448a.933.933,0,1,1,0,1.865Z" transform="translate(0 -91.001)" fill="#28323a"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="35.842" height="28.675" viewBox="0 0 35.842 28.675">
|
||||
<path id="Path_4336" data-name="Path 4336" d="M38.948,34.883H29.987V31.3c5.825,0,5.771.134,6.12-.4l1.559-2.285A2.688,2.688,0,0,0,38,23.422a5.377,5.377,0,0,0-5.323-4.669H28.956A12.545,12.545,0,0,0,16.545,8C4.3,8-.668,23.843,9.377,30.823v4.059H6.688a.9.9,0,1,0,0,1.792H38.948a.9.9,0,1,0,0-1.792ZM8.561,21.656a8.065,8.065,0,0,1,14.92-5.224,7.832,7.832,0,0,1,.9,2.321c-2.1,0-1.577.806-1.792.054.161.484.09.224-.367.627a3.584,3.584,0,0,0-6.066,3.8,2.689,2.689,0,0,0,.134,5.377,8.065,8.065,0,0,1-7.724-6.954Zm28.594,3.369a.9.9,0,0,1,.618,1.532c-.367.385,1.174.26-21.228.26a.9.9,0,0,1-.618-1.532C16.286,24.9,14.825,25.026,37.155,25.026Zm-16.542,4.48-.6-.9h4.749a2.841,2.841,0,0,0-.152.9Zm-3.172-8.065a1.792,1.792,0,1,1,1.792,1.792A1.792,1.792,0,0,1,17.442,21.441ZM23.714,31.3h.9v3.584h-.9Zm11.165-1.792H29.987a2.688,2.688,0,0,0-.152-.9H35.48Zm1.263-6.273c-12.993,0-12.249.09-12.706-.215a1.335,1.335,0,0,1-.224-2.079c.5-.565.547-.394,9.463-.394a3.584,3.584,0,0,1,3.468,2.688ZM15.649,32.194h1.792v2.688H15.649Z" transform="translate(-4.002 -8)" fill="#28323a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30">
|
||||
<path id="Path_4487" data-name="Path 4487" d="M15.879,1.8V0H14.121V1.8C6.047,2.2,0,8.143,0,15.879V17.3l1.27-.629a8.69,8.69,0,0,1,3.182-.787,5.156,5.156,0,0,1,2.9,1.5l.621.615.62-.615a5.156,5.156,0,0,1,2.9-1.5,4.774,4.774,0,0,1,2.637,1.267V27.363a2.637,2.637,0,0,0,5.273,0V25.605H17.637v1.758a.879.879,0,0,1-1.758,0V17.146a4.774,4.774,0,0,1,2.637-1.267,5.156,5.156,0,0,1,2.9,1.5l.621.615.62-.615a5.344,5.344,0,0,1,2.954-1.5,8.222,8.222,0,0,1,3.123.787L30,17.3V15.879C30,8.143,23.953,2.2,15.879,1.8Z" fill="#28323a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 609 B |
@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="33.112" height="30.051" viewBox="0 0 33.112 30.051">
|
||||
<g id="reception" transform="translate(0 -23.667)">
|
||||
<path id="Path_4479" data-name="Path 4479" d="M0,313.745H33.112V301.673H0Zm15.586-9.318h1.94v2.183h2.183v1.94H17.526v2.183h-1.94V308.55H13.4v-1.94h2.183Z" transform="translate(0 -260.027)" fill="#28323a"/>
|
||||
<path id="Path_4480" data-name="Path 4480" d="M30,236.668H59.234v2.264H30Z" transform="translate(-28.062 -199.226)" fill="#28323a"/>
|
||||
<path id="Path_4481" data-name="Path 4481" d="M108.058,103.919c0-.057,0-.113-.005-.169h-6.1c0,.056-.005.112-.005.169a3.057,3.057,0,0,0,2.717,3.034h.672A3.057,3.057,0,0,0,108.058,103.919Z" transform="translate(-95.358 -74.904)" fill="#28323a"/>
|
||||
<path id="Path_4482" data-name="Path 4482" d="M65.158,153.293h-.911a3.888,3.888,0,0,0-3.86,3.452h4.771v-3.452Z" transform="translate(-56.482 -121.243)" fill="#28323a"/>
|
||||
<path id="Path_4483" data-name="Path 4483" d="M165.076,153.293h-.911v3.452h4.771a3.888,3.888,0,0,0-3.86-3.452Z" transform="translate(-153.548 -121.243)" fill="#28323a"/>
|
||||
<path id="Path_4484" data-name="Path 4484" d="M98.828,26.906,99.4,24.35a10.351,10.351,0,0,0-7.394,0l.569,2.556Z" transform="translate(-86.054)" fill="#28323a"/>
|
||||
<path id="Path_4485" data-name="Path 4485" d="M296.991,135.98h10.025v4.572H296.991Z" transform="translate(-277.784 -105.049)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="17.016" height="15.893" viewBox="0 0 17.016 15.893">
|
||||
<g id="Layer_2" data-name="Layer 2" transform="translate(-1 -1.98)">
|
||||
<path id="Path_4511" data-name="Path 4511" d="M15.429,21.777H3.586A2.592,2.592,0,0,1,1,19.2V11H18.016v8.2a2.592,2.592,0,0,1-2.586,2.581ZM2.134,12.134V19.2a1.458,1.458,0,0,0,1.452,1.446H15.429A1.458,1.458,0,0,0,16.881,19.2V12.134Z" transform="translate(0 -3.904)" fill="#28323a"/>
|
||||
<path id="Path_4512" data-name="Path 4512" d="M18.016,9.1H1V6.6A2.592,2.592,0,0,1,3.586,4H15.429a2.592,2.592,0,0,1,2.586,2.6ZM2.134,7.97H16.881V6.6a1.458,1.458,0,0,0-1.452-1.463H3.586A1.458,1.458,0,0,0,2.134,6.6Z" transform="translate(0 -0.874)" fill="#28323a"/>
|
||||
<rect id="Rectangle_17397" data-name="Rectangle 17397" width="1.134" height="3.437" rx="0.567" transform="translate(4.369 1.98)" fill="#28323a"/>
|
||||
<rect id="Rectangle_17398" data-name="Rectangle 17398" width="1.134" height="3.437" rx="0.567" transform="translate(13.512 1.98)" fill="#28323a"/>
|
||||
<rect id="Rectangle_17399" data-name="Rectangle 17399" width="1.134" height="3.437" rx="0.567" transform="translate(8.941 1.98)" fill="#28323a"/>
|
||||
<path id="Path_4513" data-name="Path 4513" d="M2.31,12v9.217H17.732V12Zm4.929,5.717a.567.567,0,1,1,.567-.567A.567.567,0,0,1,7.239,17.717Zm2.836,0a.567.567,0,1,1,.567-.567A.567.567,0,0,1,10.075,17.717Zm2.836,0a.567.567,0,1,1,.567-.567A.567.567,0,0,1,12.911,17.717Z" transform="translate(-0.567 -4.337)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,4 @@
|
||||
<svg id="add_3_" data-name="add (3)" xmlns="http://www.w3.org/2000/svg" width="25.027" height="25.027" viewBox="0 0 25.027 25.027">
|
||||
<path id="Path_4468" data-name="Path 4468" d="M20.668,2.086A3.128,3.128,0,0,0,17.728,0H3.128A3.138,3.138,0,0,0,0,3.128v14.6a3.128,3.128,0,0,0,2.086,2.941V7.3A5.214,5.214,0,0,1,7.3,2.086Z" fill="#fff"/>
|
||||
<path id="Path_4469" data-name="Path 4469" d="M21.728,4H7.128A3.138,3.138,0,0,0,4,7.128v14.6a3.138,3.138,0,0,0,3.128,3.128h14.6a3.138,3.138,0,0,0,3.128-3.128V7.128A3.138,3.138,0,0,0,21.728,4ZM18.6,15.471H15.471V18.6a1.043,1.043,0,0,1-2.086,0V15.471H10.257a1.043,1.043,0,1,1,0-2.086h3.128V10.257a1.043,1.043,0,1,1,2.086,0v3.128H18.6a1.043,1.043,0,0,1,0,2.086Z" transform="translate(0.171 0.171)" fill="#fff"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 754 B |
@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18.824" height="29.092" viewBox="0 0 18.824 29.092">
|
||||
<g id="sugar-blood-level_1_" data-name="sugar-blood-level (1)" transform="translate(-90)">
|
||||
<path id="Path_4645" data-name="Path 4645" d="M106.257,0H92.567A2.57,2.57,0,0,0,90,2.567V12.835h18.824V2.567A2.57,2.57,0,0,0,106.257,0ZM99.412,11.123a2.57,2.57,0,0,1-2.567-2.567,5.241,5.241,0,0,1,.971-2.5c.44-.758.873-1.387.892-1.414l.7-1.019.7,1.019c.018.026.452.656.892,1.414a5.241,5.241,0,0,1,.971,2.5,2.57,2.57,0,0,1-2.567,2.567Z" fill="#28323a"/>
|
||||
<path id="Path_4646" data-name="Path 4646" d="M240,119.644a.856.856,0,0,0,1.711,0,6.4,6.4,0,0,0-.856-1.837,6.393,6.393,0,0,0-.856,1.837Z" transform="translate(-141.444 -111.087)" fill="#28323a"/>
|
||||
<path id="Path_4647" data-name="Path 4647" d="M195,315h6.845v2.567H195Z" transform="translate(-99.01 -297.031)" fill="#28323a"/>
|
||||
<path id="Path_4648" data-name="Path 4648" d="M223,390h3.537v1.711H223Z" transform="translate(-125.413 -367.753)" fill="#28323a"/>
|
||||
<path id="Path_4649" data-name="Path 4649" d="M90,256.711a5.142,5.142,0,0,0,4.278,5.062v-5.062h10.268v5.062a5.142,5.142,0,0,0,4.278-5.062V255H90Z" transform="translate(0 -240.454)" fill="#28323a"/>
|
||||
<path id="Path_4650" data-name="Path 4650" d="M223,450h3.537v3.423H223Z" transform="translate(-125.413 -424.331)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25.47" height="29.309" viewBox="0 0 25.47 29.309">
|
||||
<path id="diagnose" d="M59.073,10.053a.6.6,0,0,1,.174.123L63.268,14.2a.6.6,0,0,1,.123.174H59.669a.6.6,0,0,1-.6-.6V10.053ZM55.566,20.885A6.3,6.3,0,0,1,60.6,30.972l1.51,1.51a.811.811,0,0,1,.976.128l4.371,4.371a.81.81,0,0,1,0,1.143l-.951.951a.81.81,0,0,1-1.143,0L60.992,34.7a.811.811,0,0,1-.128-.976l-1.51-1.51a6.3,6.3,0,1,1-3.788-11.332Zm0,1.749a4.55,4.55,0,1,0,4.55,4.55A4.55,4.55,0,0,0,55.566,22.634Zm5.91,14.239-1.327-1.327a1.993,1.993,0,0,1-.584-1.433l-.373-.373a7.487,7.487,0,1,1,2.93-2.93l.373.373a2,2,0,0,1,.948.227V15.562H59.669a1.789,1.789,0,0,1-1.787-1.787V10H42.818a.6.6,0,0,0-.6.6v25.68a.6.6,0,0,0,.6.6H61.476ZM49.529,13.8a.3.3,0,0,1,.3.3v1.67H51.5a.3.3,0,0,1,.3.3V18.09a.3.3,0,0,1-.3.3h-1.67v1.67a.3.3,0,0,1-.3.3H47.508a.3.3,0,0,1-.3-.3v-1.67H45.54a.3.3,0,0,1-.3-.3V16.069a.3.3,0,0,1,.3-.3h1.67V14.1a.3.3,0,0,1,.3-.3Z" transform="translate(-42.222 -10.001)" fill="#28323a" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1013 B |
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="27" height="27.001" viewBox="0 0 27 27.001">
|
||||
<g id="direction_1_" data-name="direction (1)" transform="translate(-0.007 0)">
|
||||
<g id="Group_7454" data-name="Group 7454" transform="translate(0.007 0)">
|
||||
<path id="Path_4587" data-name="Path 4587" d="M26.606,12.545h0L14.456.395a1.344,1.344,0,0,0-1.9,0L.4,12.545a1.353,1.353,0,0,0,0,1.91L12.552,26.6v.007a1.353,1.353,0,0,0,1.91,0l12.15-12.15A1.347,1.347,0,0,0,26.606,12.545ZM16.2,16.872V13.5H10.8v4.05H8.1v-5.4a1.345,1.345,0,0,1,1.35-1.35H16.2V7.422l4.725,4.725Z" transform="translate(-0.007 0)" fill="#28323a"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 639 B |
@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="26.278" height="28.04" viewBox="0 0 26.278 28.04">
|
||||
<g id="report_4_" data-name="report (4)" transform="translate(0.918)">
|
||||
<path id="Path_4470" data-name="Path 4470" d="M19.105,70.875H3.19A2.721,2.721,0,0,1,.412,68.217V46.281A1.766,1.766,0,0,0-.918,47.911V70.394A1.753,1.753,0,0,0,.895,72.084H17.363A1.774,1.774,0,0,0,19.105,70.875Zm0,0" transform="translate(0 -44.044)" fill="#28323a"/>
|
||||
<path id="Path_4471" data-name="Path 4471" d="M66.516,24.173V12.207H52.852l-.007.748c0,.007,0-.023,0,.038h5.816a.483.483,0,1,1,0,.967h-5.87a.9.9,0,0,1-.626-.282,1.066,1.066,0,0,1-.289-.745l.007-.725H50.863a.473.473,0,0,1-.483-.473v-.071H48.927a.483.483,0,0,1-.483-.479l-.015-2.1a.5.5,0,0,1,.483-.5h0l1.464.029V8.548a.506.506,0,0,1,.482-.511H66.516V5.862H62.423a1.577,1.577,0,0,1-1.588-1.586V0H48.2a1.769,1.769,0,0,0-1.821,1.629.471.471,0,0,1,.013.063c0,.025,0,.05,0,.075V24.173A1.754,1.754,0,0,0,48.2,25.864H64.672A1.783,1.783,0,0,0,66.516,24.173ZM48.933,15.228h7.948a.483.483,0,1,1,0,.967H48.933a.483.483,0,0,1,0-.967Zm13.833,8.037H48.933a.483.483,0,0,1,0-.967H62.766a.483.483,0,0,1,0,.967Zm0-2.357H48.933a.483.483,0,0,1,0-.967H62.766a.483.483,0,1,1,0,.967Zm0-2.357H48.933a.483.483,0,0,1,0-.967H62.766a.483.483,0,1,1,0,.967Zm0,0" transform="translate(-45.014)" fill="#28323a"/>
|
||||
<path id="Path_4472" data-name="Path 4472" d="M369.314,20.14l-3.983-4.12v3.5a.61.61,0,0,0,.621.619Zm0,0" transform="translate(-348.543 -15.245)" fill="#28323a"/>
|
||||
<path id="Path_4473" data-name="Path 4473" d="M520.332,195.25v1.4l1.079-.7Zm0,0" transform="translate(-496.051 -185.811)" fill="#28323a"/>
|
||||
<path id="Path_4474" data-name="Path 4474" d="M149.082,186.25h16.981v2.236H149.082Zm0,0" transform="translate(-142.748 -177.246)" fill="#28323a"/>
|
||||
<path id="Path_4475" data-name="Path 4475" d="M109.77,198.986v-1.12l-.981-.011.008,1.131Zm0,0" transform="translate(-104.403 -188.29)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="23.812" height="29.735" viewBox="0 0 23.812 29.735">
|
||||
<g id="insurance_4_" data-name="insurance (4)" transform="translate(-51)">
|
||||
<path id="Path_4536" data-name="Path 4536" d="M64.94,5.227H60.871a11.918,11.918,0,0,1-4.644,3.251v5.33a11.389,11.389,0,0,0,6.679,10.4,11.389,11.389,0,0,0,6.679-10.4V8.479A11.909,11.909,0,0,1,64.94,5.227Zm2.647,7.494-5.421,5.42a.87.87,0,0,1-1.232,0l-2.71-2.71A.871.871,0,0,1,59.457,14.2l2.094,2.094,4.8-4.8a.871.871,0,0,1,1.232,1.232Zm6.348-8.655a6.734,6.734,0,0,1-5.97-3.6A.871.871,0,0,0,67.195,0H58.617a.872.872,0,0,0-.771.465,6.734,6.734,0,0,1-5.975,3.6A.871.871,0,0,0,51,4.937v8.871A16.66,16.66,0,0,0,62.643,29.695a.868.868,0,0,0,.525,0A16.66,16.66,0,0,0,74.812,13.808V4.937a.876.876,0,0,0-.876-.871Zm-2.608,9.7a13.128,13.128,0,0,1-8.086,12.154.874.874,0,0,1-.67,0,13.128,13.128,0,0,1-8.086-12.154V7.826a.871.871,0,0,1,.6-.828,10.18,10.18,0,0,0,4.709-3.233.871.871,0,0,1,.675-.32h4.876a1.072,1.072,0,0,1,.675.32A10.18,10.18,0,0,0,70.727,7a.869.869,0,0,1,.542.518l0,.008a.881.881,0,0,1,.047.187c0,.006,0,.013,0,.02a.855.855,0,0,1,.006.1Z" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="27.217" height="28.675" viewBox="0 0 27.217 28.675">
|
||||
<path id="path2299" d="M18.879,280.47l-2.477.665-.665,2.477,1.812,1.813,2.477-.665c.229-.823.444-1.649.665-2.474Zm-12.249.576v.968h.962c.012,2.559,0,5.112,0,7.667-.06.132-4.81,10.572-6.755,16.407a2.947,2.947,0,0,0,.057,1.826,2.166,2.166,0,0,0,.462.815,1.276,1.276,0,0,0,.912.415h16.46a1.276,1.276,0,0,0,.912-.415,2.165,2.165,0,0,0,.462-.815,2.947,2.947,0,0,0,.057-1.826c-1.945-5.835-6.7-16.274-6.755-16.407.01-2.556.007-5.111.007-7.667h.969v-.968Zm17.457.918-2.477.661-.662,2.478,1.813,1.816,2.477-.665c.217-.827.442-1.652.665-2.478Zm-11.65.05v4.844l-3.875.011,0-4.841Zm7.9,3.531-2.477.665-.665,2.477,1.816,1.813,2.477-.665q.331-1.239.661-2.478Zm.819,6.152v.968h.968v12.106a10.237,10.237,0,0,0,.183,2.884,2.009,2.009,0,0,0,.754,1.084,2.554,2.554,0,0,0,1.484.389,2.552,2.552,0,0,0,1.483-.389,2,2,0,0,0,.751-1.084,10.232,10.232,0,0,0,.185-2.884V292.666h.968V291.7Zm1.933.968H26v3.875H23.09Zm-9.053,5.342a1.321,1.321,0,0,1-.883,1.654,1.305,1.305,0,0,1-.484.05l-.532,1.228a1.877,1.877,0,0,1,.595,1.923l1.211.682a1.3,1.3,0,0,1,.43-.229,1.328,1.328,0,1,1-.886,1.655,1.3,1.3,0,0,1-.034-.591l-1.193-.672a1.908,1.908,0,0,1-.832.526,1.936,1.936,0,0,1-2.408-1.285,1.912,1.912,0,0,1-.009-1.072l-.831-.468a1.3,1.3,0,0,1-.5.29,1.326,1.326,0,1,1,.882-1.655,1.3,1.3,0,0,1,.049.5l.887.5a1.843,1.843,0,0,1,1.769-.531l.528-1.216a1.3,1.3,0,0,1-.3-.51,1.4,1.4,0,0,1,1.226-1.692,1.236,1.236,0,0,1,1.315.919Z" transform="translate(-0.716 -280.47)" fill="#28323a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,10 @@
|
||||
<svg id="Group_765" data-name="Group 765" xmlns="http://www.w3.org/2000/svg" width="24.871" height="13.655" viewBox="0 0 24.871 13.655">
|
||||
<g id="Group_767" data-name="Group 767">
|
||||
<path id="Subtraction_64" data-name="Subtraction 64" d="M805.3,951.152h-2.162a2.708,2.708,0,0,1-1.066-.217,2.775,2.775,0,0,1-1.464-1.462,2.692,2.692,0,0,1-.217-1.063v-8.171a2.7,2.7,0,0,1,.217-1.065,2.772,2.772,0,0,1,1.462-1.46,2.7,2.7,0,0,1,1.063-.216h10.134a2.7,2.7,0,0,1,1.065.217,2.771,2.771,0,0,1,1.46,1.462A2.7,2.7,0,0,1,816,940.24v2.015a2.26,2.26,0,0,0,0,4.229v1.922a2.708,2.708,0,0,1-.213,1.066,2.762,2.762,0,0,1-1.459,1.464,2.7,2.7,0,0,1-1.064.217H810.9a7.147,7.147,0,0,0,.772-.766.713.713,0,0,0,.157-.564,10.413,10.413,0,0,0,1.47-2.765,10.044,10.044,0,0,0,.4-1.457,7.294,7.294,0,0,0,.139-1.367,4.83,4.83,0,0,0-.216-1.582,2.067,2.067,0,0,0-.623-.93,2.962,2.962,0,0,0-.991-.518c-.39-.132-.841-.235-1.318-.344h0l0,0a.737.737,0,0,0-.66-.419.749.749,0,1,0,0,1.5.72.72,0,0,0,.441-.165l.018.006h0l.012,0c.477.11.853.2,1.166.3a2.039,2.039,0,0,1,.743.379,1.27,1.27,0,0,1,.385.654,4.37,4.37,0,0,1,.11,1.126,6.294,6.294,0,0,1-.129,1.211,9.1,9.1,0,0,1-.365,1.3,10.147,10.147,0,0,1-.57,1.293,8.958,8.958,0,0,1-.743,1.183.716.716,0,0,0-.493.239,5.065,5.065,0,0,1-1.066.952,2.451,2.451,0,0,1-2.873,0,5.025,5.025,0,0,1-1.065-.947.715.715,0,0,0-.492-.239,9,9,0,0,1-.745-1.186,10.2,10.2,0,0,1-.571-1.3,9.07,9.07,0,0,1-.366-1.3,6.325,6.325,0,0,1-.129-1.213,4.42,4.42,0,0,1,.109-1.127,1.266,1.266,0,0,1,.384-.654,2.032,2.032,0,0,1,.743-.379c.316-.1.714-.193,1.174-.3l.01,0h0l.007-.006a.739.739,0,0,0,.45.166.748.748,0,1,0,0-1.5.725.725,0,0,0-.4.118.813.813,0,0,0-.272.3h0l-.009,0c-1.961.453-3.145.726-3.145,3.377a7.293,7.293,0,0,0,.14,1.369,10.075,10.075,0,0,0,.4,1.459,10.343,10.343,0,0,0,1.481,2.77.71.71,0,0,0,.158.563,7.234,7.234,0,0,0,.763.757h0Zm19.5-1.428h-1.109a.956.956,0,0,1-.5-.144l-4.614-2.912a.456.456,0,0,1-.213-.384V946a2.257,2.257,0,0,0,0-3.252v-.512a.456.456,0,0,1,.213-.384l4.614-2.912a.913.913,0,0,1,.5-.144h1.11a.457.457,0,0,1,.459.453v10.028a.449.449,0,0,1-.133.32.458.458,0,0,1-.325.132Z" transform="translate(-800.388 -937.498)" fill="#d02127"/>
|
||||
<g id="Group_766" data-name="Group 766" transform="translate(5.809 5.879)">
|
||||
<path id="Path_673" data-name="Path 673" d="M495.37,3.328h.237l.741,0c.088,0,.162-.094.166-.23V2.482c0-.132.059-.235.151-.241l.227,0c.092.006.155.11.155.241V3.1c0,.136.066.224.155.224l1,0,0-.766c0-.132-.063-.234-.155-.24l-.4,0c-.089,0-.158-.094-.162-.23l0-.207c0-.136.074-.229.163-.229h.4c.092-.006.151-.114.151-.245V.457a.407.407,0,0,1-.309.193h-.678c-.088,0-.162.1-.166.232V1.5c0,.136-.073.231-.162.231l-.2,0c-.089,0-.16-.093-.164-.228V.877c0-.136-.074-.227-.163-.227h-.984v.763c0,.132.062.237.154.244l.4,0c.091.006.156.115.156.246v.177c0,.132-.062.237-.154.243h-.4c-.092.006-.154.111-.154.242ZM498.758.4V3.595a.406.406,0,0,1-.41.386H495.2a.4.4,0,0,1-.408-.386V.4A.406.406,0,0,1,495.2.01h3.147A.413.413,0,0,1,498.758.4Z" transform="translate(-494.79 -0.01)" fill="#fff"/>
|
||||
<path id="Path_929" data-name="Path 929" d="M502.5,8.838h.237l.741,0c.088,0,.162-.094.166-.23V7.992c0-.132.059-.235.151-.241l.227,0c.091.006.154.11.154.241v.623c0,.136.066.224.155.224l1,0,0-.766c0-.132-.063-.234-.155-.24l-.4,0c-.089,0-.158-.094-.162-.23l0-.207c0-.136.074-.229.163-.229h.4c.092-.006.151-.114.151-.245V5.967a.407.407,0,0,1-.309.193h-.678c-.088,0-.162.1-.166.232v.614c0,.136-.074.231-.162.231l-.205,0c-.089,0-.16-.093-.164-.228v-.62c0-.136-.074-.227-.163-.227H502.5v.763c0,.132.062.237.154.244l.4,0c.091.006.156.115.156.246v.177c0,.132-.062.237-.154.243h-.4c-.092.006-.154.111-.154.242Z" transform="translate(-501.917 -5.52)" fill="#d02127"/>
|
||||
</g>
|
||||
<path id="Path_663" data-name="Path 663" d="M969.6,998.3a1.313,1.313,0,1,1-1.312,1.313h0A1.313,1.313,0,0,1,969.6,998.3Z" transform="translate(-953.186 -992.832)" fill="#d02127"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="23.272" height="28.26" viewBox="0 0 23.272 28.26">
|
||||
<path id="Subtraction_2" data-name="Subtraction 2" d="M20.261-4078.007H.314a1.665,1.665,0,0,1-1.662-1.663V-4104.6a1.664,1.664,0,0,1,1.662-1.663H20.261a1.664,1.664,0,0,1,1.662,1.663v24.934A1.665,1.665,0,0,1,20.261-4078.007ZM16.1-4086.74a3.183,3.183,0,0,0-3.179,3.179,3.183,3.183,0,0,0,3.179,3.179,3.183,3.183,0,0,0,3.179-3.179v-.212H16.309v-2.967Zm.665-.877v3.392h3.39v-.212a3.183,3.183,0,0,0-3.179-3.179Zm-13.123-6.857a.833.833,0,0,0-.832.832.833.833,0,0,0,.832.832h13.3a.832.832,0,0,0,.831-.832.832.832,0,0,0-.831-.832Zm0-3.986a.832.832,0,0,0-.832.831.833.833,0,0,0,.832.832h13.3a.832.832,0,0,0,.831-.832.832.832,0,0,0-.831-.831Zm0-3.649a.832.832,0,0,0-.832.831.833.833,0,0,0,.832.832H9.456a.833.833,0,0,0,.832-.832.832.832,0,0,0-.832-.831Z" transform="translate(1.348 4106.266)" fill="#2e303a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 905 B |
@ -0,0 +1,4 @@
|
||||
<svg id="add_3_" data-name="add (3)" xmlns="http://www.w3.org/2000/svg" width="25.029" height="25.028" viewBox="0 0 25.029 25.028">
|
||||
<path id="Path_4468" data-name="Path 4468" d="M20.668,2.086A3.128,3.128,0,0,0,17.728,0H3.128A3.138,3.138,0,0,0,0,3.128v14.6a3.128,3.128,0,0,0,2.086,2.941V7.3A5.214,5.214,0,0,1,7.3,2.086Z" fill="#fff"/>
|
||||
<path id="Subtraction_1" data-name="Subtraction 1" d="M-11473.738-3740.409h-14.6a3.148,3.148,0,0,1-3.129-3.129v-14.6a3.147,3.147,0,0,1,3.129-3.129h14.6a3.146,3.146,0,0,1,3.129,3.129v14.6A3.146,3.146,0,0,1-11473.738-3740.409Zm-5.609-14.3h0l-7.017,7.017a.549.549,0,0,0-.136.219l-.8,2.385a.558.558,0,0,0,.136.574.566.566,0,0,0,.4.164.536.536,0,0,0,.179-.029l2.382-.793a.563.563,0,0,0,.219-.135l7.018-7.02-2.383-2.382Zm2.384-1.994a.935.935,0,0,0-.662.273l-.926.928,2.383,2.382.926-.926a.929.929,0,0,0,.274-.665.921.921,0,0,0-.274-.659l-1.059-1.061A.935.935,0,0,0-11476.964-3756.7Z" transform="translate(11495.638 3765.437)" fill="#fff"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 979 B |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21.561" height="28.306" viewBox="0 0 21.561 28.306">
|
||||
<g id="medical-report" transform="translate(-61)">
|
||||
<path id="Path_4648" data-name="Path 4648" d="M325,12.236a.277.277,0,0,0,.276.276h6.32a3.033,3.033,0,0,0-.581-.759L325.684,6.71A3.047,3.047,0,0,0,325,6.222Z" transform="translate(-249.405 -5.878)" fill="#28323a"/>
|
||||
<path id="Path_4649" data-name="Path 4649" d="M75.872,8.293a1.937,1.937,0,0,1-1.935-1.935V0h-9.9A3.044,3.044,0,0,0,61,3.041V25.265a3.044,3.044,0,0,0,3.041,3.041h15.48a3.044,3.044,0,0,0,3.041-3.041V8.293ZM70.122,5.8a.829.829,0,1,1,0,1.659H68.464V9.122a.829.829,0,1,1-1.659,0V7.464H65.146a.829.829,0,1,1,0-1.659H66.8V4.146a.829.829,0,1,1,1.659,0V5.8ZM65.533,18.8a.829.829,0,1,1,0-1.659H77.7a.829.829,0,0,1,0,1.659Zm4.85,3.594a.829.829,0,0,1-.829.829h-4.02a.829.829,0,1,1,0-1.659h4.02A.829.829,0,0,1,70.383,22.391ZM77.7,12.716a.829.829,0,0,1,0,1.659H65.533a.829.829,0,1,1,0-1.659Z" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 985 B |
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="23.92" height="35.546" viewBox="0 0 23.92 35.546">
|
||||
<g id="prescription_4_" data-name="prescription (4)" transform="translate(0 0)">
|
||||
<path id="Path_4337" data-name="Path 4337" d="M213.666,6.838a1.025,1.025,0,0,0-.279-.7L207.917.323A1.027,1.027,0,0,0,207.17,0h-.342V7.18h6.838Zm0,0" transform="translate(-192.469)" fill="#28323a"/>
|
||||
<path id="Path_4338" data-name="Path 4338" d="M20.161,20.171a5.859,5.859,0,0,1,1.036.093V9.231H13.334a1.026,1.026,0,0,1-1.026-1.026V0H1.026A1.026,1.026,0,0,0,0,1.026V27.351a1.026,1.026,0,0,0,1.026,1.026H9.652a5.817,5.817,0,0,1,.6-.7l5.8-5.8A5.774,5.774,0,0,1,20.161,20.171ZM8.547,11.966H9.573V10.94a1.026,1.026,0,1,1,2.051,0v1.026H12.65a1.026,1.026,0,1,1,0,2.051H11.624v1.026a1.026,1.026,0,0,1-2.051,0V14.017H8.547a1.026,1.026,0,0,1,0-2.051ZM5.128,18.12h10.94a1.026,1.026,0,1,1,0,2.051H5.128a1.026,1.026,0,0,1,0-2.051Zm6.838,6.154H5.128a1.026,1.026,0,1,1,0-2.051h6.838a1.026,1.026,0,1,1,0,2.051Zm0,0" transform="translate(0 0)" fill="#28323a"/>
|
||||
<path id="Path_4339" data-name="Path 4339" d="M153.782,390.363a3.761,3.761,0,1,0,5.319,5.318l2.176-2.176-5.318-5.319Zm0,0" transform="translate(-142.083 -361.237)" fill="#28323a"/>
|
||||
<path id="Path_4340" data-name="Path 4340" d="M228.252,321.191a3.76,3.76,0,0,0-5.318,0l-2.176,2.176,5.318,5.318,2.176-2.176A3.765,3.765,0,0,0,228.252,321.191Zm0,0" transform="translate(-205.432 -297.867)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21.098" height="29.309" viewBox="0 0 21.098 29.309">
|
||||
<path id="google-sheets" d="M49.083,29.309a.645.645,0,0,0,.645-.645V8.8H42.307a1.954,1.954,0,0,1-1.951-1.952V0H29.275a.645.645,0,0,0-.645.645V28.664a.645.645,0,0,0,.645.645ZM32.109,12.566h14.3V24.039h-14.3Zm7.724,8.079h5.429v2.247H39.833Zm-6.576-3.537h5.429V19.5H33.257Zm0,3.537h5.429v2.247H33.257Zm6.576-6.931h5.429v2.247H39.833Zm0,3.394h5.429V19.5H39.833Zm-6.576-3.394h5.429v2.247H33.257ZM41.79,6.846V1.491l6.282,5.873H42.307A.518.518,0,0,1,41.79,6.846Z" transform="translate(-28.63)" fill="#28323a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 613 B |
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21.879" height="28.906" viewBox="0 0 21.879 28.906">
|
||||
<g id="medical-report_9_" data-name="medical-report (9)" transform="translate(-5.834 0)">
|
||||
<path id="Path_4486" data-name="Path 4486" d="M25.038,0H8.511A2.68,2.68,0,0,0,5.834,2.677V26.23a2.679,2.679,0,0,0,2.677,2.676H25.037a2.679,2.679,0,0,0,2.676-2.676V2.677A2.679,2.679,0,0,0,25.038,0ZM9.266,4.849l1.666-2.868a.6.6,0,1,1,1.042.6l-1.14,1.964H22.827l-.911-2.019a.6.6,0,1,1,1.1-.5L24.308,4.9a.6.6,0,0,1-.548.85H9.787a.6.6,0,0,1-.521-.9Zm15.2,12.742h-4.4a.6.6,0,0,1-.568-.4l-.416-1.174-1,7.5a.6.6,0,0,1-.58.522h-.017a.6.6,0,0,1-.59-.488L14.866,13.068l-1.328,4.451a.6.6,0,0,1-.576.431H9.081a.6.6,0,1,1,0-1.2h3.432l1.9-6.377a.6.6,0,0,1,1.168.058l1.79,9.276.845-6.317a.6.6,0,0,1,.534-.519.615.615,0,0,1,.631.4l1.108,3.122h3.976a.6.6,0,1,1,0,1.2Z" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 878 B |
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="28.196" height="28.306" viewBox="0 0 28.196 28.306">
|
||||
<g id="file_1_" data-name="file (1)" transform="translate(-1)">
|
||||
<path id="Path_4645" data-name="Path 4645" d="M411,8.782v5.043h5.043Z" transform="translate(-387.333 -8.296)" fill="#28323a"/>
|
||||
<path id="Path_4646" data-name="Path 4646" d="M136.2,7.187a.829.829,0,0,1-.829-.829V0H123.488A2.491,2.491,0,0,0,121,2.488v9.271c.273-.025.55-.038.829-.038a9.107,9.107,0,0,1,7.032,3.317h9a.829.829,0,0,1,0,1.659h-7.909a9.053,9.053,0,0,1,.96,3.317h6.949a.829.829,0,0,1,0,1.659h-6.949a9.125,9.125,0,0,1-3.845,6.634h13.005a2.491,2.491,0,0,0,2.488-2.488V7.187Zm1.659,4.533H125.7a.829.829,0,1,1,0-1.659h12.163a.829.829,0,0,1,0,1.659Z" transform="translate(-113.366)" fill="#28323a"/>
|
||||
<path id="Path_4647" data-name="Path 4647" d="M8.464,242a7.464,7.464,0,1,0,7.464,7.464A7.472,7.472,0,0,0,8.464,242Zm2.211,8.293H8.464a.829.829,0,0,1-.829-.829v-3.317a.829.829,0,0,1,1.659,0v2.488h1.382a.829.829,0,1,1,0,1.659Z" transform="translate(0 -228.621)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="27.838" height="27.821" viewBox="0 0 27.838 27.821">
|
||||
<g id="referral_4_" data-name="referral (4)" transform="translate(-3 -3)">
|
||||
<path id="Path_4361" data-name="Path 4361" d="M10.356,21.547l2.427,3.034L10.43,26.935,9.358,21.577c.2-.017.4-.03.6-.03Zm4.946,0L13.819,23.4l-1.483-1.854Zm1.98,0h.4c.2,0,.4.013.6.03l-1.072,5.358-2.354-2.354Zm3.492-6.182h-.046a6.9,6.9,0,0,0,.046-.773V12.274a1.546,1.546,0,0,1,0,3.091ZM6.864,7.637A4.641,4.641,0,0,1,11.5,3h4.637a4.641,4.641,0,0,1,4.637,4.637v3.091H17.683a1.547,1.547,0,0,1-1.546-1.546V6.091H14.592v.773a3.868,3.868,0,0,1-3.864,3.864H6.864Zm0,7.728a1.546,1.546,0,1,1,0-3.091v2.318a6.9,6.9,0,0,0,.046.773Zm1.546-.773V12.274h2.318a5.4,5.4,0,0,0,4.105-1.9,3.1,3.1,0,0,0,2.85,1.9h1.546v2.318a5.41,5.41,0,0,1-10.819,0ZM24.638,30.821H3V28.5a6.966,6.966,0,0,1,4.842-6.624L9.2,28.654a.773.773,0,0,0,.534.588.789.789,0,0,0,.223.032.774.774,0,0,0,.546-.226l3.318-3.318,3.318,3.318a.773.773,0,0,0,1.3-.395L19.8,21.877A6.968,6.968,0,0,1,24.638,28.5Z" fill="#2e303a"/>
|
||||
<path id="Path_4362" data-name="Path 4362" d="M16.135,48.835a.612.612,0,0,1,.612-.612h.971L14.91,45.414,12.1,48.223h.971a.612.612,0,0,1,.613.612,7.35,7.35,0,0,1-3.271,6.112A6.133,6.133,0,0,0,16.135,48.835Z" transform="translate(13.119 -42.414)" fill="#2e303a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21.425" height="28.306" viewBox="0 0 21.425 28.306">
|
||||
<g id="medical-report_1_" data-name="medical-report (1)" transform="translate(-5.834)">
|
||||
<path id="Path_4650" data-name="Path 4650" d="M24.639,0H8.455A2.624,2.624,0,0,0,5.834,2.621V25.685a2.624,2.624,0,0,0,2.621,2.621H24.639a2.623,2.623,0,0,0,2.62-2.621V2.621A2.623,2.623,0,0,0,24.639,0ZM9.195,4.748,10.826,1.94a.59.59,0,0,1,1.02.592L10.73,4.455H22.474l-.892-1.977a.589.589,0,1,1,1.074-.485L23.924,4.8a.589.589,0,0,1-.537.833H9.7a.591.591,0,0,1-.51-.886ZM24.08,17.225H19.771a.59.59,0,0,1-.556-.392l-.407-1.15-.984,7.347a.59.59,0,0,1-.568.511h-.017a.588.588,0,0,1-.578-.478L14.678,12.8l-1.3,4.359a.589.589,0,0,1-.564.422h-3.8a.59.59,0,1,1,0-1.179h3.361l1.863-6.244a.59.59,0,0,1,1.144.057l1.753,9.083.827-6.185a.589.589,0,0,1,.523-.508.6.6,0,0,1,.617.389l1.085,3.057h3.893a.59.59,0,1,1,0,1.179Z" transform="translate(0)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 955 B |
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32.909" height="25.379" viewBox="0 0 32.909 25.379">
|
||||
<g id="heart-beat_1_" data-name="heart-beat (1)" transform="translate(0 -58.573)">
|
||||
<path id="Path_4341" data-name="Path 4341" d="M0,268.681v1.928H5.221A17.508,17.508,0,0,1,3.7,268.681Z" transform="translate(0 -196.604)" fill="#28323a"/>
|
||||
<path id="Path_4342" data-name="Path 4342" d="M432.3,268.681a17.515,17.515,0,0,1-1.522,1.928H436v-1.928Z" transform="translate(-403.09 -196.604)" fill="#28323a"/>
|
||||
<path id="Path_4343" data-name="Path 4343" d="M39.677,64.208l3.184,9.551,1.12-1.682h2.766L49.365,65.8l2.826,6.281h6.026A9.29,9.29,0,0,0,59.924,66.8a8.075,8.075,0,0,0-6.254-8.1c-3.246-.636-6.216,1.044-8.208,4.54-1.989-3.484-4.945-5.153-8.186-4.526A8.178,8.178,0,0,0,31,66.8a9.29,9.29,0,0,0,1.706,5.274h4.348Z" transform="translate(-29.007 0)" fill="#28323a"/>
|
||||
<path id="Path_4344" data-name="Path 4344" d="M96.427,241.453l-1.4,3.36H92.008l-2.736,4.1-2.6-7.8-1.233,3.7H81.222a69.042,69.042,0,0,0,7.116,6.47c1.1.915,4.118,3.476,4.118,3.476s3.02-2.561,4.118-3.476a69.048,69.048,0,0,0,7.116-6.47h-5.75Z" transform="translate(-76.001 -170.808)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12.288" height="25" viewBox="0 0 12.288 25">
|
||||
<g id="walking_1_" data-name="walking (1)" transform="translate(-17 -3)">
|
||||
<path id="Path_4507" data-name="Path 4507" d="M28.966,5.966h.847a1.26,1.26,0,0,0,.729,1.144,2.541,2.541,0,1,0-2,.975,2.5,2.5,0,0,0,1.331-.377A2.129,2.129,0,0,1,28.966,5.966Z" transform="translate(-5.186)" fill="#28323a"/>
|
||||
<path id="Path_4508" data-name="Path 4508" d="M22.353,40.722l-.811,3.508L19,48.043l2.119,1.695,3.39-4.661.507-1.685-2.585-2.585c-.028-.027-.051-.057-.078-.085Z" transform="translate(-1.153 -21.738)" fill="#28323a"/>
|
||||
<path id="Path_4509" data-name="Path 4509" d="M19.707,29.337a5.951,5.951,0,0,1-.164-1.369V25.717L17,28.8,18.695,30.5Z" transform="translate(0 -13.091)" fill="#28323a"/>
|
||||
<path id="Path_4510" data-name="Path 4510" d="M31.2,24.513l-3.894-2.127L25.5,18.309l.775-.343,1.695,3.814L30.932,23.4l1.695.924L33.9,22.2l-2.966-1.78V16.695A1.694,1.694,0,0,0,29.237,15H26.695A1.694,1.694,0,0,0,25,16.695v5.1a5.08,5.08,0,0,0,1.487,3.593l3.6,3.6,1.271,5.508H33.9l-1.271-6.78Z" transform="translate(-4.61 -6.915)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,7 @@
|
||||
<svg id="Group_7426" data-name="Group 7426" xmlns="http://www.w3.org/2000/svg" width="38.595" height="38.024" viewBox="0 0 38.595 38.024">
|
||||
<path id="Path_4539" data-name="Path 4539" d="M38.892,0H33.378A1.379,1.379,0,0,0,32,1.378v8.27a1.378,1.378,0,0,0,2.757,0V2.757h4.135a1.378,1.378,0,1,0,0-2.757Z" transform="translate(-32)" fill="#28323a"/>
|
||||
<path id="Path_4540" data-name="Path 4540" d="M38.892,200.27H34.757v-6.892a1.378,1.378,0,1,0-2.757,0v8.27a1.379,1.379,0,0,0,1.378,1.378h5.514a1.378,1.378,0,1,0,0-2.757Z" transform="translate(-32 -165.003)" fill="#28323a"/>
|
||||
<path id="Path_4541" data-name="Path 4541" d="M390.892,0h-5.514a1.378,1.378,0,0,0,0,2.757h4.135V9.649a1.378,1.378,0,0,0,2.757,0V1.378A1.379,1.379,0,0,0,390.892,0Z" transform="translate(-353.676)" fill="#28323a"/>
|
||||
<path id="Path_4542" data-name="Path 4542" d="M390.892,192a1.379,1.379,0,0,0-1.378,1.378v6.892h-4.135a1.378,1.378,0,0,0,0,2.757h5.514a1.379,1.379,0,0,0,1.378-1.378v-8.27A1.379,1.379,0,0,0,390.892,192Z" transform="translate(-353.676 -165.003)" fill="#28323a"/>
|
||||
<path id="Path_4551" data-name="Path 4551" d="M13.343,0A13.343,13.343,0,1,0,26.686,13.343,13.343,13.343,0,0,0,13.343,0Zm4.924,8.9a1.911,1.911,0,1,1-1.911,1.911A1.912,1.912,0,0,1,18.267,8.9Zm-9.849,0a1.911,1.911,0,1,1-1.911,1.911A1.912,1.912,0,0,1,8.418,8.9Zm12.124,9.083a8.733,8.733,0,0,1-14.4,0A1.169,1.169,0,1,1,8.07,16.657a6.4,6.4,0,0,0,10.55,0,1.168,1.168,0,1,1,1.923,1.325Z" transform="translate(5.954 5.509)" fill="#28323a"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="38.595" height="38.024" viewBox="0 0 38.595 38.024">
|
||||
<g id="fingerprint-scan" transform="translate(0.342 0.655)">
|
||||
<path id="Path_4535" data-name="Path 4535" d="M24,0H2.909A2.913,2.913,0,0,0,0,2.909V24a2.913,2.913,0,0,0,2.909,2.909H24A2.913,2.913,0,0,0,26.913,24V2.909A2.913,2.913,0,0,0,24,0ZM5,5.182c5.592-4.061,11.49-4.018,17,.072a.789.789,0,0,1-.47,1.422c-.894,0-6.986-6.478-15.607-.218A.788.788,0,0,1,5,5.182Zm7.349,20.277a.788.788,0,0,1-1.1-.2c-1.111-1.606-3.634-3.4-3.634-6.757a6.063,6.063,0,0,1,5.835-6.255A6.063,6.063,0,0,1,19.291,18.5v.841a.788.788,0,0,1-1.577,0V18.5a4.488,4.488,0,0,0-4.258-4.678A4.488,4.488,0,0,0,9.2,18.5C9.2,22.3,14.037,24.294,12.353,25.459Zm9.8-4.08a4.132,4.132,0,0,1-7.8-2.035c0-3.4-2.327-2.255-1.811-.191a.788.788,0,0,1-1.53.383c-1.074-4.295,4.917-6.037,4.917-.191A2.544,2.544,0,0,0,17.9,21.971c3.65.861,4.733-5.161,1.093-9.037-5.033-5.363-13.16-1.227-13.16,5.148A6.378,6.378,0,0,0,6.95,22.25a.788.788,0,0,1-1.284.916,8.033,8.033,0,0,1-1.408-5.084,9.351,9.351,0,0,1,9.2-9.2c6.8,0,11.128,7.628,8.7,12.5Zm.527-9.761a.788.788,0,0,1-1.075-.293C20.033,8.578,16.234,7.1,13.457,7.1a11.282,11.282,0,0,0-8.175,4.275A.788.788,0,0,1,3.97,10.5a12.781,12.781,0,0,1,9.487-4.977c5.841,0,11.056,5.05,9.222,6.1Z" transform="translate(5.793 4.943)" fill="#28323a"/>
|
||||
<path id="Path_4539" data-name="Path 4539" d="M38.892,0H33.378A1.379,1.379,0,0,0,32,1.378v8.27a1.378,1.378,0,0,0,2.757,0V2.757h4.135a1.378,1.378,0,1,0,0-2.757Z" transform="translate(-32.342 -0.655)" fill="#28323a"/>
|
||||
<path id="Path_4540" data-name="Path 4540" d="M38.892,200.27H34.757v-6.892a1.378,1.378,0,1,0-2.757,0v8.27a1.379,1.379,0,0,0,1.378,1.378h5.514a1.378,1.378,0,1,0,0-2.757Z" transform="translate(-32.342 -165.658)" fill="#28323a"/>
|
||||
<path id="Path_4541" data-name="Path 4541" d="M390.892,0h-5.514a1.378,1.378,0,0,0,0,2.757h4.135V9.649a1.378,1.378,0,0,0,2.757,0V1.378A1.379,1.379,0,0,0,390.892,0Z" transform="translate(-354.018 -0.655)" fill="#28323a"/>
|
||||
<path id="Path_4542" data-name="Path 4542" d="M390.892,192a1.379,1.379,0,0,0-1.378,1.378v6.892h-4.135a1.378,1.378,0,0,0,0,2.757h5.514a1.379,1.379,0,0,0,1.378-1.378v-8.27A1.379,1.379,0,0,0,390.892,192Z" transform="translate(-354.018 -165.658)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="38.595" height="38.024" viewBox="0 0 38.595 38.024">
|
||||
<g id="sms-speech-bubble" transform="translate(-1 1.645)">
|
||||
<g id="textsms">
|
||||
<path id="Path_4529" data-name="Path 4529" d="M21.992,0H2.444A2.451,2.451,0,0,0,0,2.444V24.436l4.887-4.887h17.1A2.451,2.451,0,0,0,24.436,17.1V2.444A2.451,2.451,0,0,0,21.992,0ZM8.552,11H6.109V8.552H8.552Zm4.887,0H11V8.552H13.44Zm4.887,0H15.883V8.552h2.444Z" transform="translate(8.144 5.013)" fill="#28323a"/>
|
||||
<path id="Path_4543" data-name="Path 4543" d="M38.892,0H33.378A1.379,1.379,0,0,0,32,1.378v8.27a1.378,1.378,0,0,0,2.757,0V2.757h4.135a1.378,1.378,0,1,0,0-2.757Z" transform="translate(-31 -1.645)" fill="#28323a"/>
|
||||
<path id="Path_4544" data-name="Path 4544" d="M38.892,200.27H34.757v-6.892a1.378,1.378,0,1,0-2.757,0v8.27a1.379,1.379,0,0,0,1.378,1.378h5.514a1.378,1.378,0,1,0,0-2.757Z" transform="translate(-31 -166.648)" fill="#28323a"/>
|
||||
<path id="Path_4545" data-name="Path 4545" d="M390.892,0h-5.514a1.378,1.378,0,0,0,0,2.757h4.135V9.649a1.378,1.378,0,0,0,2.757,0V1.378A1.379,1.379,0,0,0,390.892,0Z" transform="translate(-352.676 -1.645)" fill="#28323a"/>
|
||||
<path id="Path_4546" data-name="Path 4546" d="M390.892,192a1.379,1.379,0,0,0-1.378,1.378v6.892h-4.135a1.378,1.378,0,0,0,0,2.757h5.514a1.379,1.379,0,0,0,1.378-1.378v-8.27A1.379,1.379,0,0,0,390.892,192Z" transform="translate(-352.676 -166.648)" fill="#28323a"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="38.595" height="38.024" viewBox="0 0 38.595 38.024">
|
||||
<g id="whatsapp_1_" data-name="whatsapp (1)" transform="translate(0.233 -4.309)">
|
||||
<g id="Group_7424" data-name="Group 7424" transform="translate(4.808 8.729)">
|
||||
<path id="Path_4537" data-name="Path 4537" d="M0,28.186l2.424-7.271a13.848,13.848,0,1,1,5.468,5.195Z" fill="#2cb742"/>
|
||||
<path id="Path_4538" data-name="Path 4538" d="M29.341,23.6c-.64-1.209-3-2.591-3-2.591-.534-.3-1.177-.338-1.482.2a12.215,12.215,0,0,1-.961,1.051,1.791,1.791,0,0,1-2.547-.253l-1.935-1.935-1.935-1.935A1.791,1.791,0,0,1,17.23,15.6a12.216,12.216,0,0,1,1.051-.961c.542-.3.508-.948.2-1.482,0,0-1.382-2.358-2.591-3a1.325,1.325,0,0,0-1.557.234l-.854.854c-2.71,2.71-1.376,5.77,1.334,8.48L17.3,22.2l2.477,2.477c2.71,2.71,5.77,4.045,8.48,1.334l.854-.854A1.326,1.326,0,0,0,29.341,23.6Z" transform="translate(-6.169 -5.141)" fill="#fff"/>
|
||||
</g>
|
||||
<path id="Path_4547" data-name="Path 4547" d="M38.892,0H33.378A1.379,1.379,0,0,0,32,1.378v8.27a1.378,1.378,0,0,0,2.757,0V2.757h4.135a1.378,1.378,0,1,0,0-2.757Z" transform="translate(-32.233 4.309)" fill="#28323a"/>
|
||||
<path id="Path_4548" data-name="Path 4548" d="M38.892,200.27H34.757v-6.892a1.378,1.378,0,1,0-2.757,0v8.27a1.379,1.379,0,0,0,1.378,1.378h5.514a1.378,1.378,0,1,0,0-2.757Z" transform="translate(-32.233 -160.693)" fill="#28323a"/>
|
||||
<path id="Path_4549" data-name="Path 4549" d="M390.892,0h-5.514a1.378,1.378,0,0,0,0,2.757h4.135V9.649a1.378,1.378,0,0,0,2.757,0V1.378A1.379,1.379,0,0,0,390.892,0Z" transform="translate(-353.909 4.309)" fill="#28323a"/>
|
||||
<path id="Path_4550" data-name="Path 4550" d="M390.892,192a1.379,1.379,0,0,0-1.378,1.378v6.892h-4.135a1.378,1.378,0,0,0,0,2.757h5.514a1.379,1.379,0,0,0,1.378-1.378v-8.27A1.379,1.379,0,0,0,390.892,192Z" transform="translate(-353.909 -160.693)" fill="#28323a"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
@ -1,27 +0,0 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:hmg_nurses/api/api_client.dart';
|
||||
import 'package:hmg_nurses/app_state/app_state.dart';
|
||||
import 'package:hmg_nurses/classes/consts.dart';
|
||||
|
||||
|
||||
class LoginApiClient {
|
||||
static final LoginApiClient _instance = LoginApiClient._internal();
|
||||
|
||||
LoginApiClient._internal();
|
||||
|
||||
factory LoginApiClient() => _instance;
|
||||
|
||||
// Future<GetMobileLoginInfoListModel?> getMobileLoginInfoNEW(String deviceToken, String deviceType) async {
|
||||
// String url = "${ApiConsts.erpRest}Mohemm_GetMobileLoginInfo_NEW";
|
||||
// Map<String, dynamic> postParams = {};
|
||||
// postParams["DeviceToken"] = deviceToken;
|
||||
// postParams["DeviceType"] = deviceType;
|
||||
// return await ApiClient().postJsonForObject((json) {
|
||||
// GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
|
||||
// return (responseData.mohemmGetMobileLoginInfoList?.length ?? 0) > 0 ? (responseData.mohemmGetMobileLoginInfoList!.first) : null;
|
||||
// }, url, postParams);
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,415 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:hmg_nurses/generated/locale_keys.g.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class AppDateUtils {
|
||||
static String convertDateToFormat(DateTime dateTime, String dateFormat) {
|
||||
return DateFormat(dateFormat).format(dateTime);
|
||||
}
|
||||
|
||||
static DateTime convertISOStringToDateTime(String date) {
|
||||
DateTime newDate;
|
||||
|
||||
newDate = DateTime.parse(date);
|
||||
|
||||
return newDate;
|
||||
}
|
||||
|
||||
static String convertStringToDateFormat(String date, String dateFormat) {
|
||||
DateTime dateTime;
|
||||
if (date.contains("/Date"))
|
||||
dateTime = getDateTimeFromServerFormat(date);
|
||||
else
|
||||
dateTime = DateTime.parse(date);
|
||||
return convertDateToFormat(dateTime, dateFormat);
|
||||
}
|
||||
|
||||
static String convertToServerFormat(String date, String dateFormat) {
|
||||
return '/Date(${DateFormat(dateFormat).parse(date).millisecondsSinceEpoch})/';
|
||||
}
|
||||
|
||||
static String convertDateToServerFormat(DateTime date) {
|
||||
return '/Date(${date.millisecondsSinceEpoch})/';
|
||||
}
|
||||
|
||||
static convertDateFromServerFormat(String str, dateFormat) {
|
||||
var date = getDateTimeFromServerFormat(str);
|
||||
|
||||
return DateFormat(dateFormat).format(date);
|
||||
}
|
||||
|
||||
static DateTime getDateTimeFromServerFormat(String str) {
|
||||
DateTime date = DateTime.now();
|
||||
if (str != null) {
|
||||
const start = "/Date(";
|
||||
|
||||
const end = "+0300)";
|
||||
if (str.contains("/Date")) {
|
||||
final startIndex = str.indexOf(start);
|
||||
|
||||
final endIndex = str.indexOf(end, startIndex + start.length);
|
||||
|
||||
date = new DateTime.fromMillisecondsSinceEpoch(int.parse(str.substring(startIndex + start.length, endIndex)));
|
||||
} else {
|
||||
date = DateTime.now();
|
||||
}
|
||||
} else {
|
||||
date = DateTime.parse(str);
|
||||
}
|
||||
|
||||
return date;
|
||||
}
|
||||
|
||||
static String differenceBetweenDateAndCurrentInYearMonthDay(DateTime firstDate, BuildContext context) {
|
||||
DateTime now = DateTime.now();
|
||||
// now = now.add(Duration(days: 400, minutes: 0));
|
||||
var difference = firstDate.difference(now);
|
||||
|
||||
int years = now.year - firstDate.year;
|
||||
int months = now.month - firstDate.month;
|
||||
int days = now.day - firstDate.day;
|
||||
|
||||
if (months < 0 || (months == 0 && days < 0)) {
|
||||
years--;
|
||||
months += (days < 0 ? 11 : 12);
|
||||
}
|
||||
if (days < 0) {
|
||||
final monthAgo = new DateTime(now.year, now.month - 1, firstDate.day);
|
||||
days = now.difference(monthAgo).inDays + 1;
|
||||
}
|
||||
return "$days ${LocaleKeys.days.tr()}, $months ${LocaleKeys.months.tr()}, $years ${LocaleKeys.years.tr()}";
|
||||
}
|
||||
|
||||
static String differenceBetweenDateAndCurrent(DateTime firstDate, BuildContext context, {bool isShowSecond = false, bool isShowDays = true}) {
|
||||
DateTime now = DateTime.now();
|
||||
var difference = now.difference(firstDate);
|
||||
|
||||
int minutesInDays = difference.inMinutes;
|
||||
int secondInDays = difference.inSeconds;
|
||||
int hoursInDays = minutesInDays ~/ 60; // ~/ : truncating division to make the result int
|
||||
int second = secondInDays % 60;
|
||||
int minutes = minutesInDays % 60;
|
||||
int days = hoursInDays ~/ 24;
|
||||
int hours = hoursInDays % 24;
|
||||
|
||||
double hoursInOneDay = difference.inHours / difference.inDays;
|
||||
|
||||
return (isShowDays ? (days > 0 ? "$days ${LocaleKeys.days.tr()}," : '') : "") +
|
||||
(hours > 0 ? "$hours ${LocaleKeys.hr.tr()}," : "") +
|
||||
" $minutes ${LocaleKeys.min.tr()}" +
|
||||
(isShowSecond ? ", $second Sec" : "");
|
||||
}
|
||||
|
||||
static String differenceBetweenServerDateAndCurrent(String str, BuildContext context) {
|
||||
const start = "/Date(";
|
||||
|
||||
const end = "+0300)";
|
||||
|
||||
final startIndex = str.indexOf(start);
|
||||
|
||||
final endIndex = str.indexOf(end, startIndex + start.length);
|
||||
|
||||
var date = new DateTime.fromMillisecondsSinceEpoch(int.parse(str.substring(startIndex + start.length, endIndex)));
|
||||
return differenceBetweenDateAndCurrent(date, context);
|
||||
}
|
||||
|
||||
/// get month by
|
||||
/// [weekDay] convert week day in int to week day name
|
||||
static getWeekDay(int weekDay) {
|
||||
switch (weekDay) {
|
||||
case 1:
|
||||
return "Monday";
|
||||
case 2:
|
||||
return "Tuesday";
|
||||
case 3:
|
||||
return "Wednesday";
|
||||
case 4:
|
||||
return "Thursday";
|
||||
case 5:
|
||||
return "Friday";
|
||||
case 6:
|
||||
return "Saturday ";
|
||||
case 7:
|
||||
return "Sunday";
|
||||
}
|
||||
}
|
||||
|
||||
/// get month by
|
||||
/// [weekDay] convert week day in int to week day name arabic
|
||||
static getWeekDayArabic(int weekDay) {
|
||||
switch (weekDay) {
|
||||
case 1:
|
||||
return "الاثنين";
|
||||
case 2:
|
||||
return "الثلاثاء";
|
||||
case 3:
|
||||
return "الاربعاء";
|
||||
case 4:
|
||||
return "الخميس";
|
||||
case 5:
|
||||
return "الجمعه";
|
||||
case 6:
|
||||
return "السبت ";
|
||||
case 7:
|
||||
return "الاحد";
|
||||
}
|
||||
}
|
||||
|
||||
/// get month by
|
||||
/// [month] convert month number in to month name
|
||||
static getMonth(int month) {
|
||||
switch (month) {
|
||||
case 1:
|
||||
return "January";
|
||||
case 2:
|
||||
return "February";
|
||||
case 3:
|
||||
return "March";
|
||||
case 4:
|
||||
return "April";
|
||||
case 5:
|
||||
return "May";
|
||||
case 6:
|
||||
return "June";
|
||||
case 7:
|
||||
return "July";
|
||||
case 8:
|
||||
return "August";
|
||||
case 9:
|
||||
return "September";
|
||||
case 10:
|
||||
return "October";
|
||||
case 11:
|
||||
return "November";
|
||||
case 12:
|
||||
return "December";
|
||||
}
|
||||
}
|
||||
|
||||
/// get month by
|
||||
/// [month] convert month number in to month name in Arabic
|
||||
static getMonthArabic(int month) {
|
||||
switch (month) {
|
||||
case 1:
|
||||
return "يناير";
|
||||
case 2:
|
||||
return " فبراير";
|
||||
case 3:
|
||||
return "مارس";
|
||||
case 4:
|
||||
return "أبريل";
|
||||
case 5:
|
||||
return "مايو";
|
||||
case 6:
|
||||
return "يونيو";
|
||||
case 7:
|
||||
return "يوليو";
|
||||
case 8:
|
||||
return "أغسطس";
|
||||
case 9:
|
||||
return "سبتمبر";
|
||||
case 10:
|
||||
return " اكتوبر";
|
||||
case 11:
|
||||
return " نوفمبر";
|
||||
case 12:
|
||||
return "ديسمبر";
|
||||
}
|
||||
}
|
||||
|
||||
static getMonthByName(String month) {
|
||||
switch (month.toLowerCase()) {
|
||||
case 'january':
|
||||
return 1;
|
||||
case 'february':
|
||||
return 2;
|
||||
case 'march':
|
||||
return 3;
|
||||
case 'april':
|
||||
return 4;
|
||||
case 'may':
|
||||
return 5;
|
||||
case 'june':
|
||||
return 6;
|
||||
case 'july':
|
||||
return 7;
|
||||
case 'august':
|
||||
return 8;
|
||||
case 'september':
|
||||
return 9;
|
||||
case 'october':
|
||||
return 10;
|
||||
case 'november':
|
||||
return 11;
|
||||
case 'december':
|
||||
return 12;
|
||||
}
|
||||
}
|
||||
|
||||
static DateTime convertStringToDate(String date) {
|
||||
// /Date(1585774800000+0300)/
|
||||
|
||||
if (date != null) {
|
||||
const start = "/Date(";
|
||||
const end = "+0300)";
|
||||
final startIndex = date.indexOf(start);
|
||||
final endIndex = date.indexOf(end, startIndex + start.length);
|
||||
DateTime newDate = DateTime.fromMillisecondsSinceEpoch(
|
||||
int.parse(
|
||||
date.substring(startIndex + start.length, endIndex),
|
||||
),
|
||||
);
|
||||
return newDate;
|
||||
} else
|
||||
return DateTime.now();
|
||||
}
|
||||
|
||||
/// get data formatted like Apr 26,2020
|
||||
/// [dateTime] convert DateTime to data formatted Arabic
|
||||
static String getMonthDayYearDateFormattedAr(DateTime dateTime) {
|
||||
if (dateTime != null)
|
||||
return getMonthArabic(dateTime.month) + " " + dateTime.day.toString() + ", " + dateTime.year.toString();
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
/// get data formatted like Apr 26,2020
|
||||
/// [dateTime] convert DateTime to data formatted
|
||||
static String getMonthDayYearDateFormatted(DateTime dateTime, {bool isArabic = false}) {
|
||||
if (dateTime != null)
|
||||
return isArabic ? getMonthArabic(dateTime.month) : getMonth(dateTime.month) + " " + dateTime.day.toString() + ", " + dateTime.year.toString();
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
/// get data formatted like 26 Apr 2020
|
||||
/// [dateTime] convert DateTime to data formatted
|
||||
static String getDayMonthYearDateFormatted(DateTime dateTime, {bool isArabic = false, bool isMonthShort = true}) {
|
||||
if (dateTime != null)
|
||||
return dateTime.day.toString() +
|
||||
" " +
|
||||
"${isArabic ? getMonthArabic(dateTime.month) : isMonthShort ? getMonth(dateTime.month).toString().substring(0, 3) : getMonth(dateTime.month)}" +
|
||||
" " +
|
||||
dateTime.year.toString();
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
/// get data formatted like 26/4/2020
|
||||
/// [dateTime] convert DateTime to data formatted
|
||||
static String getDayMonthYearDate(DateTime dateTime, {bool isArabic = false}) {
|
||||
if (dateTime != null)
|
||||
return dateTime.day.toString() + "/" + "${dateTime.month}" + "/" + dateTime.year.toString();
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
/// get data formatted like 10:45 PM
|
||||
/// [dateTime] convert DateTime to data formatted
|
||||
static String getHour(DateTime dateTime) {
|
||||
return DateFormat('hh:mm a').format(dateTime);
|
||||
}
|
||||
|
||||
static String getAgeByBirthday(String birthOfDate, BuildContext context, {bool isServerFormat = true}) {
|
||||
// https://leechy.dev/calculate-dates-diff-in-dart
|
||||
DateTime birthDate;
|
||||
if (birthOfDate.contains("/Date")) {
|
||||
birthDate = AppDateUtils.getDateTimeFromServerFormat(birthOfDate);
|
||||
} else {
|
||||
birthDate = DateTime.parse(birthOfDate);
|
||||
}
|
||||
final now = DateTime.now();
|
||||
int years = now.year - birthDate.year;
|
||||
int months = now.month - birthDate.month;
|
||||
int days = now.day - birthDate.day;
|
||||
if (months < 0 || (months == 0 && days < 0)) {
|
||||
years--;
|
||||
months += (days < 0 ? 11 : 12);
|
||||
}
|
||||
if (days < 0) {
|
||||
final monthAgo = new DateTime(now.year, now.month - 1, birthDate.day);
|
||||
days = now.difference(monthAgo).inDays + 1;
|
||||
}
|
||||
return "$years ${LocaleKeys.years.tr()} $months ${LocaleKeys.months.tr()} $days ${LocaleKeys.days.tr()}";
|
||||
}
|
||||
|
||||
static bool isToday(DateTime dateTime) {
|
||||
DateTime todayDate = DateTime.now().toUtc();
|
||||
if (dateTime.day == todayDate.day && dateTime.month == todayDate.month && dateTime.year == todayDate.year) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static String getDate(DateTime dateTime) {
|
||||
print(dateTime);
|
||||
if (dateTime != null)
|
||||
return getMonth(dateTime.month) + " " + dateTime.day.toString() + "," + dateTime.year.toString();
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
static String getDateFormatted(DateTime dateTime) {
|
||||
print(dateTime);
|
||||
if (dateTime != null)
|
||||
return dateTime.day.toString() + "/" + dateTime.month.toString() + "/" + dateTime.year.toString();
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
static String getTimeHHMMA(DateTime dateTime) {
|
||||
return DateFormat('hh:mm a').format(dateTime);
|
||||
}
|
||||
|
||||
static String getTimeHHMMA2(DateTime dateTime) {
|
||||
return DateFormat('hh:mm').format(dateTime);
|
||||
}
|
||||
|
||||
static String getStartTime(String dateTime) {
|
||||
String time = dateTime;
|
||||
|
||||
if (dateTime.length > 7) time = dateTime.substring(0, 5);
|
||||
return time;
|
||||
}
|
||||
|
||||
static String getTimeFormated(DateTime dateTime) {
|
||||
print(dateTime);
|
||||
if (dateTime != null)
|
||||
return dateTime.hour.toString() + ":" + dateTime.minute.toString();
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
// handel date like "09/05/2021 17:00"
|
||||
static DateTime getDateTimeFromString(String str) {
|
||||
List<String> array = str.split('/');
|
||||
int day = int.parse(array[0]);
|
||||
int month = int.parse(array[1]);
|
||||
|
||||
List<String> array2 = array[2].split(' ');
|
||||
int year = int.parse(array2[0]);
|
||||
String hour = array2[1];
|
||||
List<String> hourList = hour.split(":");
|
||||
|
||||
DateTime date = DateTime(year, month, day, int.parse(hourList[0]), int.parse(hourList[1]));
|
||||
|
||||
return date;
|
||||
}
|
||||
|
||||
static convertDateFormatImproved(String str) {
|
||||
String newDate = "";
|
||||
const start = "/Date(";
|
||||
if (str.isNotEmpty) {
|
||||
const end = "+0300)";
|
||||
|
||||
final startIndex = str.indexOf(start);
|
||||
final endIndex = str.indexOf(end, startIndex + start.length);
|
||||
|
||||
var date = new DateTime.fromMillisecondsSinceEpoch(int.parse(str.substring(startIndex + start.length, endIndex)));
|
||||
newDate = date.year.toString() + "/" + date.month.toString().padLeft(2, '0') + "/" + date.day.toString().padLeft(2, '0');
|
||||
}
|
||||
|
||||
return newDate;
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,29 @@
|
||||
enum APPSTATUS { loading, unAuthenticated, authenticated, unverified }
|
||||
enum AuthMethodTypes { sms, whatsApp, fingerPrint, faceID, moreOptions }
|
||||
enum ViewState { idle, busy, error, busyLocal, errorLocal }
|
||||
// enum APPSTATUS {
|
||||
// loading,
|
||||
// unAuthenticated,
|
||||
// authenticated,
|
||||
// unverified,
|
||||
// }
|
||||
|
||||
enum AuthMethodTypes {
|
||||
sms,
|
||||
whatsApp,
|
||||
fingerPrint,
|
||||
faceID,
|
||||
moreOptions,
|
||||
}
|
||||
|
||||
enum ViewState {
|
||||
hide,
|
||||
idle,
|
||||
busy,
|
||||
error,
|
||||
busyLocal,
|
||||
errorLocal,
|
||||
}
|
||||
|
||||
enum LoginType {
|
||||
FROM_LOGIN,
|
||||
SILENT_LOGIN,
|
||||
SILENT_WITH_OTP,
|
||||
}
|
||||
|
||||
@ -0,0 +1,89 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:hmg_nurses/main.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model2.dart';
|
||||
import 'package:hmg_nurses/model/base/post_params_model.dart';
|
||||
import 'package:hmg_nurses/model/login/imei_details_model.dart';
|
||||
import 'package:hmg_nurses/model/login/list_doctors_clinic_model.dart';
|
||||
import 'package:hmg_nurses/model/login/member_login_model.dart';
|
||||
|
||||
class AppState {
|
||||
// static final AppState _instance = AppState._internal();
|
||||
//
|
||||
// AppState._internal();
|
||||
//
|
||||
// factory AppState() => _instance;
|
||||
|
||||
//Tokens
|
||||
String? imei, logInTokenID, vidaAuthTokenID, vidaRefreshTokenID, authenticationTokenID;
|
||||
|
||||
int projectID = 0;
|
||||
int clinicId = 0;
|
||||
|
||||
//TODO: Must be -1 before login or logout
|
||||
int lastLoginTyp = -1;
|
||||
int? doctorUserId;
|
||||
int? employeeId;
|
||||
String? password;
|
||||
String? lastLoginDate;
|
||||
GetIMEIDetailsModel? lastLoginImeiDate;
|
||||
List<ListDoctorsClinicModel>? listDoctorsClinic;
|
||||
|
||||
int setupId=91877;
|
||||
|
||||
GenericResponseModel2? doctorProfile;
|
||||
|
||||
bool isAuthenticated = false;
|
||||
|
||||
set setIsAuthenticated(v) => isAuthenticated = v;
|
||||
|
||||
bool isLogged = false;
|
||||
|
||||
PostParamsModel _postParamsInitConfig = PostParamsModel(
|
||||
tokenID: "",
|
||||
languageID: 2,
|
||||
stamp: "",
|
||||
iPAdress: "9.9.9.9",
|
||||
versionID: 9,
|
||||
channel: 9,
|
||||
sessionID: "BlUSkYymTt",
|
||||
isLoginForDoctorApp: true,
|
||||
patientOutSA: false,
|
||||
vidaAuthTokenID: null,
|
||||
vidaRefreshTokenID: null,
|
||||
deviceTypeID: 1,
|
||||
generalID: 'Cs2020@2016\$2958',
|
||||
);
|
||||
|
||||
void setPostParamsInitConfig() {
|
||||
isAuthenticated = false;
|
||||
isLogged = false;
|
||||
_postParams = _postParamsInitConfig;
|
||||
}
|
||||
|
||||
PostParamsModel? _postParams;
|
||||
|
||||
PostParamsModel? get postParamsObject => _postParams;
|
||||
|
||||
// Map<String, dynamic> get postParamsJson => isLogged ? (_postParams?.toJsonAfterLogin() ?? {}) : (_postParams?.toJson() ?? {});
|
||||
Map<String, dynamic> get postParamsJson {
|
||||
_postParams!.stamp = DateTime.now().toIso8601String();
|
||||
_postParams?.vidaAuthTokenID = vidaAuthTokenID;
|
||||
_postParams?.vidaRefreshTokenID = vidaRefreshTokenID;
|
||||
_postParams?.imei = imei;
|
||||
if(isLogged)
|
||||
_postParams?.tokenID=authenticationTokenID;
|
||||
return isLogged ? _postParams?.toJsonLogged() ?? {} : _postParams?.toJson() ?? {};
|
||||
}
|
||||
|
||||
void setPostParamsModel(PostParamsModel _postParams) {
|
||||
this._postParams = _postParams;
|
||||
}
|
||||
|
||||
bool isArabic() => EasyLocalization.of(navigatorKey.currentContext!)?.locale.languageCode == "ar";
|
||||
|
||||
int getLanguageID(context) => EasyLocalization.of(context)?.locale.languageCode == "ar" ? 1 : 2;
|
||||
|
||||
MemberLoginModel? memberBeforeLogin;
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
// import 'package:firebase_crashlytics/firebase_crashlytics.dart';
|
||||
// import 'package:flutter/material.dart';
|
||||
import 'package:hmg_nurses/config/app_state.dart';
|
||||
import 'package:hmg_nurses/services/api_client.dart';
|
||||
import 'package:hmg_nurses/services/api_repo/dashboard_api_repo.dart';
|
||||
import 'package:hmg_nurses/services/api_repo/login_api_repo.dart';
|
||||
import 'package:hmg_nurses/services/api_repo/patient_api_repo.dart';
|
||||
|
||||
import 'package:hmg_nurses/services/firebase_service.dart';
|
||||
import 'package:injector/injector.dart';
|
||||
|
||||
class AppDependencies {
|
||||
static void addDependencies() {
|
||||
Injector injector = Injector.appInstance;
|
||||
|
||||
//add dependencies as needed
|
||||
//services
|
||||
injector.registerSingleton<AppState>(() => AppState());
|
||||
injector.registerSingleton<IApiClient>(() => ApiClient());
|
||||
injector.registerSingleton<IFirebaseService>(() => FirebaseService());
|
||||
|
||||
//repos
|
||||
injector.registerSingleton<ILoginApiRepo>(() => LoginApiRepo());
|
||||
injector.registerSingleton<IDashboardApiRepo>(() => DashboardApiRepo());
|
||||
injector.registerSingleton<IPatientApiRepo>(() => PatientApiRepo());
|
||||
}
|
||||
}
|
||||
@ -1,17 +1,40 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hmg_nurses/ui/dashboard/dashbaord_page.dart';
|
||||
import 'package:hmg_nurses/ui/login/login_method_page.dart';
|
||||
import 'package:hmg_nurses/ui/login/login_page.dart';
|
||||
import 'package:hmg_nurses/ui/login/splash_page.dart';
|
||||
import 'package:hmg_nurses/ui/patient/profile/patient_profile_page.dart';
|
||||
import 'package:hmg_nurses/ui/patient/profile/vital/vital_signs_page.dart';
|
||||
import 'package:hmg_nurses/ui/patient/search_patient_page.dart';
|
||||
import 'package:hmg_nurses/ui/patient/searched_patient_list_page.dart';
|
||||
|
||||
class AppRoutes {
|
||||
static const String initialPage = login;
|
||||
|
||||
//Login
|
||||
static const String splash = "/splash";
|
||||
static const String registerSelection = "/registerSelection";
|
||||
static const String loginMethodsPage = "/loginMethodsPage";
|
||||
static const String login = "/login";
|
||||
|
||||
//Dashboard
|
||||
static const String dashboard = "/dashboard";
|
||||
static const String searchPatient = "/searchPatient";
|
||||
static const String searchedFor = "/searchedFor";
|
||||
static const String patientProfile = "/patientProfile";
|
||||
static const String vitalSigns = "/vitalSigns";
|
||||
|
||||
static final Map<String, WidgetBuilder> routes = {
|
||||
//Login
|
||||
login: (BuildContext context) => const LoginPage(),
|
||||
splash: (BuildContext context) => SplashPage(),
|
||||
login: (BuildContext context) => LoginPage(),
|
||||
loginMethodsPage: (BuildContext context) => const LoginMethodsPage(),
|
||||
|
||||
//Dashboard
|
||||
dashboard: (BuildContext context) => DashboardPage(),
|
||||
searchPatient: (BuildContext context) => SearchPatientPage(),
|
||||
searchedFor: (BuildContext context) => SearchedPatientListPage(),
|
||||
patientProfile: (BuildContext context) => PatientProfilePage(),
|
||||
vitalSigns: (BuildContext context) => VitalSignsPage(),
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,18 +0,0 @@
|
||||
import 'package:get_it/get_it.dart';
|
||||
import 'package:hmg_nurses/ui/login/login_vm.dart';
|
||||
|
||||
GetIt getIt = GetIt.instance;
|
||||
|
||||
|
||||
void initDependencies () {
|
||||
// TODO; WE WILL REGISTER ALL THE SERVICES HERE AS LAZY SINGLETON
|
||||
|
||||
|
||||
|
||||
//TODO: WE WILL REGISTER ALL THE VIEW MODELS AS FACTORY HERE
|
||||
|
||||
/// View Model
|
||||
getIt.registerFactory(() => LoginViewModel());
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,758 @@
|
||||
// To parse this JSON data, do
|
||||
//
|
||||
// final genericResponseModel = genericResponseModelFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:hmg_nurses/model/login/imei_details_model.dart';
|
||||
import 'package:hmg_nurses/model/login/list_doctors_clinic_model.dart';
|
||||
import 'package:hmg_nurses/model/login/member_information_model.dart';
|
||||
import 'package:hmg_nurses/model/patient/list_doctor_patient_vital_sign.dart';
|
||||
import 'package:hmg_nurses/model/patient/patient_file_information_prm_list.dart';
|
||||
|
||||
import '../login/project_info_model.dart';
|
||||
|
||||
GenericResponseModel genericResponseModelFromJson(String str) => GenericResponseModel.fromJson(json.decode(str));
|
||||
|
||||
String genericResponseModelToJson(GenericResponseModel data) => json.encode(data.toJson());
|
||||
|
||||
class GenericResponseModel {
|
||||
GenericResponseModel({
|
||||
this.date,
|
||||
this.languageId,
|
||||
this.serviceName,
|
||||
this.time,
|
||||
this.androidLink,
|
||||
this.authenticationTokenId,
|
||||
this.data,
|
||||
this.dataw,
|
||||
this.dietType,
|
||||
this.dietTypeId,
|
||||
this.errorCode,
|
||||
this.errorEndUserMessage,
|
||||
this.errorEndUserMessageN,
|
||||
this.errorMessage,
|
||||
this.errorType,
|
||||
this.foodCategory,
|
||||
this.iosLink,
|
||||
this.isAuthenticated,
|
||||
this.mealOrderStatus,
|
||||
this.mealType,
|
||||
this.messageStatus,
|
||||
this.numberOfResultRecords,
|
||||
this.patientBlodType,
|
||||
this.successMsg,
|
||||
this.successMsgN,
|
||||
this.vidaUpdatedResponse,
|
||||
this.admissionDiagnosisList,
|
||||
this.admissionMasterList,
|
||||
this.admissionProcedureList,
|
||||
this.admissionRequestList,
|
||||
this.appointmentDate,
|
||||
this.appointmentId,
|
||||
this.assessmentList,
|
||||
this.boxQuantity,
|
||||
this.chkStatusUpdated,
|
||||
this.chiefComplaintAuditLogList,
|
||||
this.clinicId,
|
||||
this.created,
|
||||
this.dietTypeList,
|
||||
this.doctorDetails,
|
||||
this.doctorHaveOneClinic,
|
||||
this.doctorId,
|
||||
this.doctorNotRepliedCounts,
|
||||
this.doctorSesId,
|
||||
this.doctorTokId,
|
||||
this.drugToDrugResponse,
|
||||
this.erlcInsertPatientInHisgenxList,
|
||||
this.erlcIsInserted,
|
||||
this.erlcRequestList,
|
||||
this.endTime,
|
||||
this.episodeId,
|
||||
this.getErAppointmentFeesList,
|
||||
this.getEpisodeNo,
|
||||
this.getPatientErSessionStatusList,
|
||||
this.getVcStatusBySessionIdList,
|
||||
this.hasAppointment,
|
||||
this.hasVirtualClinic,
|
||||
this.httpStatusCode,
|
||||
this.icdCodesList,
|
||||
this.isAccepted,
|
||||
this.isChangePassword,
|
||||
this.isLogout,
|
||||
this.isPatientErRequestVcSessionAndTokenUpdated,
|
||||
this.isPatientSessionStatusInserted,
|
||||
this.isPatientSessionStatusUpdated,
|
||||
this.isSent,
|
||||
this.labResultType,
|
||||
this.listSickLeavesToExtent,
|
||||
this.listAdmissionOrders,
|
||||
this.listAllergies,
|
||||
this.listApprovalMainInPatient,
|
||||
this.listChiefComplaint,
|
||||
this.listClinicAll,
|
||||
this.listDiabeticChartValues,
|
||||
this.listDiagnosisForInPatient,
|
||||
this.listDischargeSummary,
|
||||
this.listDoctorDeviceDetails,
|
||||
this.listDoctorProfile,
|
||||
this.listDoctorProgressNote,
|
||||
this.listDoctorsClinic,
|
||||
this.listDoctorsAll,
|
||||
this.listDrugToDrugTherapy,
|
||||
this.listGetLabNormal,
|
||||
this.listGetLabOreders,
|
||||
this.listGetLabSpecial,
|
||||
this.listGetMedicationForInpatient,
|
||||
this.listGetPatientVitalSign,
|
||||
this.listGetPregressNoteForInPatient,
|
||||
this.listGetRadOreders,
|
||||
this.listGtMyPatientsQuestions,
|
||||
this.listHistory,
|
||||
this.listIcdCodes,
|
||||
this.listInterventionHistory,
|
||||
this.listInterventionMedications,
|
||||
this.listMyDischargePatient,
|
||||
this.listMyDischargeReferralPatient,
|
||||
this.listMyDischargeReferredPatient,
|
||||
this.listMyInPatient,
|
||||
this.listMyOutPatient,
|
||||
this.listMyOutPatientReferral,
|
||||
this.listMyReferralPatient,
|
||||
this.listMyReferredOutPatient,
|
||||
this.listMyReferredPatient,
|
||||
this.listMyTomorrowPatient,
|
||||
this.listNursingProgressNote,
|
||||
this.listOtReservationDetails,
|
||||
this.listOperationDetails,
|
||||
this.listPendingDischargeSummary,
|
||||
this.listPendingOrders,
|
||||
this.listPendingPatientAdminList,
|
||||
this.listPendingPatientList,
|
||||
this.listPrescriptionAuditLogInfo,
|
||||
this.listPrescriptionReportByPatientId,
|
||||
this.listPrescriptionReportForInPatient,
|
||||
this.listRxAuditLogInfo,
|
||||
this.listStpMasterList,
|
||||
this.listSpecialClinicalCareList,
|
||||
this.listSpecialClinicalCareMappingList,
|
||||
this.logInTokenId,
|
||||
this.masterLookUpList,
|
||||
this.medicationList,
|
||||
this.memberId,
|
||||
this.orderedProcedureList,
|
||||
this.patientDetails,
|
||||
this.patientFileList,
|
||||
this.patientInfoList,
|
||||
this.patientInforBySearchCriteriaHisgenxList,
|
||||
this.patientInforBySearchCriteriaList,
|
||||
this.patientOutSa,
|
||||
this.patientsFileInfoList,
|
||||
this.pendingReferralList,
|
||||
this.physicalExamAuditLogList,
|
||||
this.physicalExamList,
|
||||
this.prescriptionList,
|
||||
this.procedureList,
|
||||
this.progressNoteList,
|
||||
this.progressNotesAuditLogList,
|
||||
this.projectId,
|
||||
this.projectInfo,
|
||||
this.referralList,
|
||||
this.requestCompleted,
|
||||
this.requisitionResponse,
|
||||
this.returnValue,
|
||||
this.rowCount,
|
||||
this.smsCode,
|
||||
this.searchAdmissionList,
|
||||
this.searchCriteriaKindList,
|
||||
this.sickLeaveStatistics,
|
||||
this.sickLeavesList,
|
||||
this.sserviceId,
|
||||
this.startTime,
|
||||
this.statusMessage,
|
||||
this.strAppointmentDate,
|
||||
this.totalUnUsedCount,
|
||||
this.ucafResponse,
|
||||
this.validateProcedureList,
|
||||
this.validationErrors,
|
||||
this.verificationCode,
|
||||
this.vidaAuthTokenId,
|
||||
this.vidaRefreshTokenId,
|
||||
this.vitalSignsHistory,
|
||||
this.vitalSignsList,
|
||||
this.admissionResponse,
|
||||
this.coveringDoctorList,
|
||||
this.isActiveCode,
|
||||
this.isSmsSent,
|
||||
this.listCategories,
|
||||
this.listClinics,
|
||||
this.listDoctorDashboarKpi,
|
||||
this.listItemByMedicineCode,
|
||||
this.listKeywords,
|
||||
this.listProcedureCategories,
|
||||
this.listProcedureResult,
|
||||
this.memberInformation,
|
||||
this.patientArrivalList,
|
||||
this.requisitionList,
|
||||
this.requisitionScheduleList,
|
||||
this.requisitionStatusList,
|
||||
this.resultValue,
|
||||
this.specialAuthenticate,
|
||||
this.getPatientFileInformationPrmList,
|
||||
this.listDoctorPatientVitalSign,
|
||||
});
|
||||
|
||||
final dynamic date;
|
||||
final int? languageId;
|
||||
final int? serviceName;
|
||||
final dynamic time;
|
||||
final dynamic androidLink;
|
||||
final dynamic authenticationTokenId;
|
||||
final dynamic data;
|
||||
final bool? dataw;
|
||||
final int? dietType;
|
||||
final int? dietTypeId;
|
||||
final dynamic errorCode;
|
||||
final dynamic errorEndUserMessage;
|
||||
final dynamic errorEndUserMessageN;
|
||||
final dynamic errorMessage;
|
||||
final int? errorType;
|
||||
final int? foodCategory;
|
||||
final dynamic iosLink;
|
||||
final bool? isAuthenticated;
|
||||
final int? mealOrderStatus;
|
||||
final int? mealType;
|
||||
final int? messageStatus;
|
||||
final int? numberOfResultRecords;
|
||||
final dynamic patientBlodType;
|
||||
final dynamic successMsg;
|
||||
final dynamic successMsgN;
|
||||
final dynamic vidaUpdatedResponse;
|
||||
final dynamic admissionDiagnosisList;
|
||||
final dynamic admissionMasterList;
|
||||
final dynamic admissionProcedureList;
|
||||
final dynamic admissionRequestList;
|
||||
final dynamic appointmentDate;
|
||||
final dynamic appointmentId;
|
||||
final dynamic assessmentList;
|
||||
final int? boxQuantity;
|
||||
final int? chkStatusUpdated;
|
||||
final dynamic chiefComplaintAuditLogList;
|
||||
final int? clinicId;
|
||||
final bool? created;
|
||||
final dynamic dietTypeList;
|
||||
final dynamic doctorDetails;
|
||||
final bool? doctorHaveOneClinic;
|
||||
final int? doctorId;
|
||||
final int? doctorNotRepliedCounts;
|
||||
final dynamic doctorSesId;
|
||||
final dynamic doctorTokId;
|
||||
final dynamic drugToDrugResponse;
|
||||
final dynamic erlcInsertPatientInHisgenxList;
|
||||
final int? erlcIsInserted;
|
||||
final dynamic erlcRequestList;
|
||||
final dynamic endTime;
|
||||
final int? episodeId;
|
||||
final dynamic getErAppointmentFeesList;
|
||||
final int? getEpisodeNo;
|
||||
final dynamic getPatientErSessionStatusList;
|
||||
final dynamic getVcStatusBySessionIdList;
|
||||
final bool? hasAppointment;
|
||||
final dynamic hasVirtualClinic;
|
||||
final dynamic httpStatusCode;
|
||||
final dynamic icdCodesList;
|
||||
final bool? isAccepted;
|
||||
final bool? isChangePassword;
|
||||
final bool? isLogout;
|
||||
final bool? isPatientErRequestVcSessionAndTokenUpdated;
|
||||
final bool? isPatientSessionStatusInserted;
|
||||
final bool? isPatientSessionStatusUpdated;
|
||||
final bool? isSent;
|
||||
final int? labResultType;
|
||||
final dynamic listSickLeavesToExtent;
|
||||
final dynamic listAdmissionOrders;
|
||||
final dynamic listAllergies;
|
||||
final dynamic listApprovalMainInPatient;
|
||||
final dynamic listChiefComplaint;
|
||||
final dynamic listClinicAll;
|
||||
final dynamic listDiabeticChartValues;
|
||||
final dynamic listDiagnosisForInPatient;
|
||||
final dynamic listDischargeSummary;
|
||||
final List<GetIMEIDetailsModel>? listDoctorDeviceDetails;
|
||||
final dynamic listDoctorProfile;
|
||||
final dynamic listDoctorProgressNote;
|
||||
final List<ListDoctorsClinicModel>? listDoctorsClinic;
|
||||
final dynamic listDoctorsAll;
|
||||
final dynamic listDrugToDrugTherapy;
|
||||
final dynamic listGetLabNormal;
|
||||
final dynamic listGetLabOreders;
|
||||
final dynamic listGetLabSpecial;
|
||||
final dynamic listGetMedicationForInpatient;
|
||||
final dynamic listGetPatientVitalSign;
|
||||
final dynamic listGetPregressNoteForInPatient;
|
||||
final dynamic listGetRadOreders;
|
||||
final dynamic listGtMyPatientsQuestions;
|
||||
final dynamic listHistory;
|
||||
final dynamic listIcdCodes;
|
||||
final dynamic listInterventionHistory;
|
||||
final dynamic listInterventionMedications;
|
||||
final dynamic listMyDischargePatient;
|
||||
final dynamic listMyDischargeReferralPatient;
|
||||
final dynamic listMyDischargeReferredPatient;
|
||||
final dynamic listMyInPatient;
|
||||
final dynamic listMyOutPatient;
|
||||
final dynamic listMyOutPatientReferral;
|
||||
final dynamic listMyReferralPatient;
|
||||
final dynamic listMyReferredOutPatient;
|
||||
final dynamic listMyReferredPatient;
|
||||
final dynamic listMyTomorrowPatient;
|
||||
final dynamic listNursingProgressNote;
|
||||
final dynamic listOtReservationDetails;
|
||||
final dynamic listOperationDetails;
|
||||
final dynamic listPendingDischargeSummary;
|
||||
final dynamic listPendingOrders;
|
||||
final dynamic listPendingPatientAdminList;
|
||||
final dynamic listPendingPatientList;
|
||||
final dynamic listPrescriptionAuditLogInfo;
|
||||
final dynamic listPrescriptionReportByPatientId;
|
||||
final dynamic listPrescriptionReportForInPatient;
|
||||
final dynamic listRxAuditLogInfo;
|
||||
final dynamic listStpMasterList;
|
||||
final dynamic listSpecialClinicalCareList;
|
||||
final dynamic listSpecialClinicalCareMappingList;
|
||||
final dynamic logInTokenId;
|
||||
final dynamic masterLookUpList;
|
||||
final dynamic medicationList;
|
||||
final int? memberId;
|
||||
final dynamic orderedProcedureList;
|
||||
final dynamic patientDetails;
|
||||
final dynamic patientFileList;
|
||||
final dynamic patientInfoList;
|
||||
final dynamic patientInforBySearchCriteriaHisgenxList;
|
||||
final dynamic patientInforBySearchCriteriaList;
|
||||
final bool? patientOutSa;
|
||||
final dynamic patientsFileInfoList;
|
||||
final dynamic pendingReferralList;
|
||||
final dynamic physicalExamAuditLogList;
|
||||
final dynamic physicalExamList;
|
||||
final dynamic prescriptionList;
|
||||
final dynamic procedureList;
|
||||
final dynamic progressNoteList;
|
||||
final dynamic progressNotesAuditLogList;
|
||||
final int? projectId;
|
||||
final List<ProjectInfoModel>? projectInfo;
|
||||
final dynamic referralList;
|
||||
final bool? requestCompleted;
|
||||
final dynamic requisitionResponse;
|
||||
final int? returnValue;
|
||||
final int? rowCount;
|
||||
final dynamic smsCode;
|
||||
final dynamic searchAdmissionList;
|
||||
final dynamic searchCriteriaKindList;
|
||||
final dynamic sickLeaveStatistics;
|
||||
final dynamic sickLeavesList;
|
||||
final dynamic sserviceId;
|
||||
final dynamic startTime;
|
||||
final dynamic statusMessage;
|
||||
final dynamic strAppointmentDate;
|
||||
final int? totalUnUsedCount;
|
||||
final dynamic ucafResponse;
|
||||
final dynamic validateProcedureList;
|
||||
final dynamic validationErrors;
|
||||
final dynamic verificationCode;
|
||||
final dynamic vidaAuthTokenId;
|
||||
final dynamic vidaRefreshTokenId;
|
||||
final dynamic vitalSignsHistory;
|
||||
final dynamic vitalSignsList;
|
||||
final dynamic admissionResponse;
|
||||
final dynamic coveringDoctorList;
|
||||
final bool? isActiveCode;
|
||||
final bool? isSmsSent;
|
||||
final dynamic listCategories;
|
||||
final dynamic listClinics;
|
||||
final dynamic listDoctorDashboarKpi;
|
||||
final dynamic listItemByMedicineCode;
|
||||
final dynamic listKeywords;
|
||||
final dynamic listProcedureCategories;
|
||||
final dynamic listProcedureResult;
|
||||
final MemberInformation? memberInformation;
|
||||
final dynamic patientArrivalList;
|
||||
final dynamic requisitionList;
|
||||
final dynamic requisitionScheduleList;
|
||||
final dynamic requisitionStatusList;
|
||||
final int? resultValue;
|
||||
final bool? specialAuthenticate;
|
||||
final List<GetPatientFileInformationPrmList>? getPatientFileInformationPrmList;
|
||||
final List<ListDoctorPatientVitalSign>? listDoctorPatientVitalSign;
|
||||
|
||||
factory GenericResponseModel.fromJson(Map<String, dynamic> json) => GenericResponseModel(
|
||||
date: json["Date"],
|
||||
languageId: json["LanguageID"] == null ? null : json["LanguageID"],
|
||||
serviceName: json["ServiceName"] == null ? null : json["ServiceName"],
|
||||
time: json["Time"],
|
||||
androidLink: json["AndroidLink"],
|
||||
authenticationTokenId: json["AuthenticationTokenID"],
|
||||
data: json["Data"],
|
||||
dataw: json["Dataw"] == null ? null : json["Dataw"],
|
||||
dietType: json["DietType"] == null ? null : json["DietType"],
|
||||
dietTypeId: json["DietTypeID"] == null ? null : json["DietTypeID"],
|
||||
errorCode: json["ErrorCode"],
|
||||
errorEndUserMessage: json["ErrorEndUserMessage"],
|
||||
errorEndUserMessageN: json["ErrorEndUserMessageN"],
|
||||
errorMessage: json["ErrorMessage"],
|
||||
errorType: json["ErrorType"] == null ? null : json["ErrorType"],
|
||||
foodCategory: json["FoodCategory"] == null ? null : json["FoodCategory"],
|
||||
iosLink: json["IOSLink"],
|
||||
isAuthenticated: json["IsAuthenticated"] == null ? null : json["IsAuthenticated"],
|
||||
mealOrderStatus: json["MealOrderStatus"] == null ? null : json["MealOrderStatus"],
|
||||
mealType: json["MealType"] == null ? null : json["MealType"],
|
||||
messageStatus: json["MessageStatus"] == null ? null : json["MessageStatus"],
|
||||
numberOfResultRecords: json["NumberOfResultRecords"] == null ? null : json["NumberOfResultRecords"],
|
||||
patientBlodType: json["PatientBlodType"],
|
||||
successMsg: json["SuccessMsg"],
|
||||
successMsgN: json["SuccessMsgN"],
|
||||
vidaUpdatedResponse: json["VidaUpdatedResponse"],
|
||||
admissionDiagnosisList: json["AdmissionDiagnosisList"],
|
||||
admissionMasterList: json["AdmissionMasterList"],
|
||||
admissionProcedureList: json["AdmissionProcedureList"],
|
||||
admissionRequestList: json["AdmissionRequestList"],
|
||||
appointmentDate: json["AppointmentDate"],
|
||||
appointmentId: json["AppointmentID"],
|
||||
assessmentList: json["AssessmentList"],
|
||||
boxQuantity: json["BoxQuantity"] == null ? null : json["BoxQuantity"],
|
||||
chkStatusUpdated: json["CHK_StatusUpdated"] == null ? null : json["CHK_StatusUpdated"],
|
||||
chiefComplaintAuditLogList: json["ChiefComplaintAuditLogList"],
|
||||
clinicId: json["ClinicID"] == null ? null : json["ClinicID"],
|
||||
created: json["Created"] == null ? null : json["Created"],
|
||||
dietTypeList: json["DietTypeList"],
|
||||
doctorDetails: json["DoctorDetails"],
|
||||
doctorHaveOneClinic: json["DoctorHaveOneClinic"] == null ? null : json["DoctorHaveOneClinic"],
|
||||
doctorId: json["DoctorID"] == null ? null : json["DoctorID"],
|
||||
doctorNotRepliedCounts: json["DoctorNotRepliedCounts"] == null ? null : json["DoctorNotRepliedCounts"],
|
||||
doctorSesId: json["DoctorSesID"],
|
||||
doctorTokId: json["DoctorTokID"],
|
||||
drugToDrugResponse: json["DrugToDrugResponse"],
|
||||
erlcInsertPatientInHisgenxList: json["ERLC_InsertPatientInHISGENXList"],
|
||||
erlcIsInserted: json["ERLC_IsInserted"] == null ? null : json["ERLC_IsInserted"],
|
||||
erlcRequestList: json["ERLC_RequestList"],
|
||||
endTime: json["EndTime"],
|
||||
episodeId: json["EpisodeID"] == null ? null : json["EpisodeID"],
|
||||
getErAppointmentFeesList: json["GetERAppointmentFeesList"],
|
||||
getEpisodeNo: json["GetEpisodeNo"] == null ? null : json["GetEpisodeNo"],
|
||||
getPatientErSessionStatusList: json["GetPatientERSessionStatusList"],
|
||||
getVcStatusBySessionIdList: json["GetVCStatusBySessionIDList"],
|
||||
hasAppointment: json["HasAppointment"] == null ? null : json["HasAppointment"],
|
||||
hasVirtualClinic: json["HasVirtualClinic"],
|
||||
httpStatusCode: json["HttpStatusCode"],
|
||||
icdCodesList: json["ICDCodesList"],
|
||||
isAccepted: json["IsAccepted"] == null ? null : json["IsAccepted"],
|
||||
isChangePassword: json["IsChangePassword"] == null ? null : json["IsChangePassword"],
|
||||
isLogout: json["IsLogout"] == null ? null : json["IsLogout"],
|
||||
isPatientErRequestVcSessionAndTokenUpdated: json["IsPatientERRequestVCSessionAndTokenUpdated"] == null ? null : json["IsPatientERRequestVCSessionAndTokenUpdated"],
|
||||
isPatientSessionStatusInserted: json["IsPatientSessionStatusInserted"] == null ? null : json["IsPatientSessionStatusInserted"],
|
||||
isPatientSessionStatusUpdated: json["IsPatientSessionStatusUpdated"] == null ? null : json["IsPatientSessionStatusUpdated"],
|
||||
isSent: json["IsSent"] == null ? null : json["IsSent"],
|
||||
labResultType: json["LabResultType"] == null ? null : json["LabResultType"],
|
||||
listSickLeavesToExtent: json["ListSickLeavesToExtent"],
|
||||
listAdmissionOrders: json["List_AdmissionOrders"],
|
||||
listAllergies: json["List_Allergies"],
|
||||
listApprovalMainInPatient: json["List_ApprovalMain_InPatient"],
|
||||
listChiefComplaint: json["List_ChiefComplaint"],
|
||||
listClinicAll: json["List_Clinic_All"],
|
||||
listDiabeticChartValues: json["List_DiabeticChartValues"],
|
||||
listDiagnosisForInPatient: json["List_DiagnosisForInPatient"],
|
||||
listDischargeSummary: json["List_DischargeSummary"],
|
||||
listDoctorDeviceDetails: json["List_DoctorDeviceDetails"] == null ? null : List<GetIMEIDetailsModel>.from(json["List_DoctorDeviceDetails"].map((x) => GetIMEIDetailsModel.fromJson(x))),
|
||||
listDoctorProfile: json["List_DoctorProfile"],
|
||||
listDoctorProgressNote: json["List_DoctorProgressNote"],
|
||||
listDoctorsClinic: json["List_DoctorsClinic"] == null ? null : List<ListDoctorsClinicModel>.from(json["List_DoctorsClinic"].map((x) => ListDoctorsClinicModel.fromJson(x))),
|
||||
listDoctorsAll: json["List_Doctors_All"],
|
||||
listDrugToDrugTherapy: json["List_DrugToDrugTherapy"],
|
||||
listGetLabNormal: json["List_GetLabNormal"],
|
||||
listGetLabOreders: json["List_GetLabOreders"],
|
||||
listGetLabSpecial: json["List_GetLabSpecial"],
|
||||
listGetMedicationForInpatient: json["List_GetMedicationForInpatient"],
|
||||
listGetPatientVitalSign: json["List_GetPatientVitalSign"],
|
||||
listGetPregressNoteForInPatient: json["List_GetPregressNoteForInPatient"],
|
||||
listGetRadOreders: json["List_GetRadOreders"],
|
||||
listGtMyPatientsQuestions: json["List_GtMyPatientsQuestions"],
|
||||
listHistory: json["List_History"],
|
||||
listIcdCodes: json["List_ICDCodes"],
|
||||
listInterventionHistory: json["List_InterventionHistory"],
|
||||
listInterventionMedications: json["List_InterventionMedications"],
|
||||
listMyDischargePatient: json["List_MyDischargePatient"],
|
||||
listMyDischargeReferralPatient: json["List_MyDischargeReferralPatient"],
|
||||
listMyDischargeReferredPatient: json["List_MyDischargeReferredPatient"],
|
||||
listMyInPatient: json["List_MyInPatient"],
|
||||
listMyOutPatient: json["List_MyOutPatient"],
|
||||
listMyOutPatientReferral: json["List_MyOutPatientReferral"],
|
||||
listMyReferralPatient: json["List_MyReferralPatient"],
|
||||
listMyReferredOutPatient: json["List_MyReferredOutPatient"],
|
||||
listMyReferredPatient: json["List_MyReferredPatient"],
|
||||
listMyTomorrowPatient: json["List_MyTomorrowPatient"],
|
||||
listNursingProgressNote: json["List_NursingProgressNote"],
|
||||
listOtReservationDetails: json["List_OTReservationDetails"],
|
||||
listOperationDetails: json["List_OperationDetails"],
|
||||
listPendingDischargeSummary: json["List_PendingDischargeSummary"],
|
||||
listPendingOrders: json["List_PendingOrders"],
|
||||
listPendingPatientAdminList: json["List_PendingPatientAdminList"],
|
||||
listPendingPatientList: json["List_PendingPatientList"],
|
||||
listPrescriptionAuditLogInfo: json["List_PrescriptionAuditLogInfo"],
|
||||
listPrescriptionReportByPatientId: json["List_PrescriptionReportByPatientID"],
|
||||
listPrescriptionReportForInPatient: json["List_PrescriptionReportForInPatient"],
|
||||
listRxAuditLogInfo: json["List_RxAuditLogInfo"],
|
||||
listStpMasterList: json["List_STPMasterList"],
|
||||
listSpecialClinicalCareList: json["List_SpecialClinicalCareList"],
|
||||
listSpecialClinicalCareMappingList: json["List_SpecialClinicalCareMappingList"],
|
||||
logInTokenId: json["LogInTokenID"],
|
||||
masterLookUpList: json["MasterLookUpList"],
|
||||
medicationList: json["MedicationList"],
|
||||
memberId: json["MemberID"] == null ? null : json["MemberID"],
|
||||
orderedProcedureList: json["OrderedProcedureList"],
|
||||
patientDetails: json["PatientDetails"],
|
||||
patientFileList: json["PatientFileList"],
|
||||
patientInfoList: json["PatientInfo_List"],
|
||||
patientInforBySearchCriteriaHisgenxList: json["PatientInforBySearchCriteriaHISGENX_List"],
|
||||
patientInforBySearchCriteriaList: json["PatientInforBySearchCriteria_List"],
|
||||
patientOutSa: json["PatientOutSA"] == null ? null : json["PatientOutSA"],
|
||||
patientsFileInfoList: json["PatientsFileInfo_List"],
|
||||
pendingReferralList: json["PendingReferralList"],
|
||||
physicalExamAuditLogList: json["PhysicalExamAuditLogList"],
|
||||
physicalExamList: json["PhysicalExamList"],
|
||||
prescriptionList: json["PrescriptionList"],
|
||||
procedureList: json["ProcedureList"],
|
||||
progressNoteList: json["ProgressNoteList"],
|
||||
progressNotesAuditLogList: json["ProgressNotesAuditLogList"],
|
||||
projectId: json["ProjectID"] == null ? null : json["ProjectID"],
|
||||
projectInfo: json["ProjectInfo"] == null ? null : List<ProjectInfoModel>.from(json["ProjectInfo"].map((x) => ProjectInfoModel.fromJson(x))),
|
||||
referralList: json["ReferralList"],
|
||||
requestCompleted: json["RequestCompleted"] == null ? null : json["RequestCompleted"],
|
||||
requisitionResponse: json["RequisitionResponse"],
|
||||
returnValue: json["ReturnValue"] == null ? null : json["ReturnValue"],
|
||||
rowCount: json["RowCount"] == null ? null : json["RowCount"],
|
||||
smsCode: json["SMSCode"],
|
||||
searchAdmissionList: json["SearchAdmissionList"],
|
||||
searchCriteriaKindList: json["SearchCriteriaKindList"],
|
||||
sickLeaveStatistics: json["SickLeaveStatistics"],
|
||||
sickLeavesList: json["SickLeavesList"],
|
||||
sserviceId: json["SserviceID"],
|
||||
startTime: json["StartTime"],
|
||||
statusMessage: json["StatusMessage"],
|
||||
strAppointmentDate: json["StrAppointmentDate"],
|
||||
totalUnUsedCount: json["TotalUnUsedCount"] == null ? null : json["TotalUnUsedCount"],
|
||||
ucafResponse: json["UcafResponse"],
|
||||
validateProcedureList: json["ValidateProcedureList"],
|
||||
validationErrors: json["ValidationErrors"],
|
||||
verificationCode: json["VerificationCode"],
|
||||
vidaAuthTokenId: json["VidaAuthTokenID"],
|
||||
vidaRefreshTokenId: json["VidaRefreshTokenID"],
|
||||
vitalSignsHistory: json["VitalSignsHistory"],
|
||||
vitalSignsList: json["VitalSignsList"],
|
||||
admissionResponse: json["admissionResponse"],
|
||||
coveringDoctorList: json["coveringDoctorList"],
|
||||
isActiveCode: json["isActiveCode"] == null ? null : json["isActiveCode"],
|
||||
isSmsSent: json["isSMSSent"] == null ? null : json["isSMSSent"],
|
||||
listCategories: json["listCategories"],
|
||||
listClinics: json["listClinics"],
|
||||
listDoctorDashboarKpi: json["listDoctorDashboarKPI"],
|
||||
listItemByMedicineCode: json["listItemByMedicineCode"],
|
||||
listKeywords: json["listKeywords"],
|
||||
listProcedureCategories: json["listProcedureCategories"],
|
||||
listProcedureResult: json["listProcedureResult"],
|
||||
memberInformation: json["memberInformation"] == null ? null : MemberInformation.fromJson(json["memberInformation"]),
|
||||
patientArrivalList: json["patientArrivalList"],
|
||||
requisitionList: json["requisitionList"],
|
||||
requisitionScheduleList: json["requisitionScheduleList"],
|
||||
requisitionStatusList: json["requisitionStatusList"],
|
||||
resultValue: json["resultValue"] == null ? null : json["resultValue"],
|
||||
specialAuthenticate: json["specialAuthenticate"] == null ? null : json["specialAuthenticate"],
|
||||
getPatientFileInformationPrmList: json["GetPatientFileInformation_PRMList"] == null
|
||||
? null
|
||||
: List<GetPatientFileInformationPrmList>.from(json["GetPatientFileInformation_PRMList"].map((x) => GetPatientFileInformationPrmList.fromJson(x))),
|
||||
listDoctorPatientVitalSign:
|
||||
json["List_DoctorPatientVitalSign"] == null ? null : List<ListDoctorPatientVitalSign>.from(json["List_DoctorPatientVitalSign"].map((x) => ListDoctorPatientVitalSign.fromJson(x))),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"Date": date,
|
||||
"LanguageID": languageId == null ? null : languageId,
|
||||
"ServiceName": serviceName == null ? null : serviceName,
|
||||
"Time": time,
|
||||
"AndroidLink": androidLink,
|
||||
"AuthenticationTokenID": authenticationTokenId,
|
||||
"Data": data,
|
||||
"Dataw": dataw == null ? null : dataw,
|
||||
"DietType": dietType == null ? null : dietType,
|
||||
"DietTypeID": dietTypeId == null ? null : dietTypeId,
|
||||
"ErrorCode": errorCode,
|
||||
"ErrorEndUserMessage": errorEndUserMessage,
|
||||
"ErrorEndUserMessageN": errorEndUserMessageN,
|
||||
"ErrorMessage": errorMessage,
|
||||
"ErrorType": errorType == null ? null : errorType,
|
||||
"FoodCategory": foodCategory == null ? null : foodCategory,
|
||||
"IOSLink": iosLink,
|
||||
"IsAuthenticated": isAuthenticated == null ? null : isAuthenticated,
|
||||
"MealOrderStatus": mealOrderStatus == null ? null : mealOrderStatus,
|
||||
"MealType": mealType == null ? null : mealType,
|
||||
"MessageStatus": messageStatus == null ? null : messageStatus,
|
||||
"NumberOfResultRecords": numberOfResultRecords == null ? null : numberOfResultRecords,
|
||||
"PatientBlodType": patientBlodType,
|
||||
"SuccessMsg": successMsg,
|
||||
"SuccessMsgN": successMsgN,
|
||||
"VidaUpdatedResponse": vidaUpdatedResponse,
|
||||
"AdmissionDiagnosisList": admissionDiagnosisList,
|
||||
"AdmissionMasterList": admissionMasterList,
|
||||
"AdmissionProcedureList": admissionProcedureList,
|
||||
"AdmissionRequestList": admissionRequestList,
|
||||
"AppointmentDate": appointmentDate,
|
||||
"AppointmentID": appointmentId,
|
||||
"AssessmentList": assessmentList,
|
||||
"BoxQuantity": boxQuantity == null ? null : boxQuantity,
|
||||
"CHK_StatusUpdated": chkStatusUpdated == null ? null : chkStatusUpdated,
|
||||
"ChiefComplaintAuditLogList": chiefComplaintAuditLogList,
|
||||
"ClinicID": clinicId == null ? null : clinicId,
|
||||
"Created": created == null ? null : created,
|
||||
"DietTypeList": dietTypeList,
|
||||
"DoctorDetails": doctorDetails,
|
||||
"DoctorHaveOneClinic": doctorHaveOneClinic == null ? null : doctorHaveOneClinic,
|
||||
"DoctorID": doctorId == null ? null : doctorId,
|
||||
"DoctorNotRepliedCounts": doctorNotRepliedCounts == null ? null : doctorNotRepliedCounts,
|
||||
"DoctorSesID": doctorSesId,
|
||||
"DoctorTokID": doctorTokId,
|
||||
"DrugToDrugResponse": drugToDrugResponse,
|
||||
"ERLC_InsertPatientInHISGENXList": erlcInsertPatientInHisgenxList,
|
||||
"ERLC_IsInserted": erlcIsInserted == null ? null : erlcIsInserted,
|
||||
"ERLC_RequestList": erlcRequestList,
|
||||
"EndTime": endTime,
|
||||
"EpisodeID": episodeId == null ? null : episodeId,
|
||||
"GetERAppointmentFeesList": getErAppointmentFeesList,
|
||||
"GetEpisodeNo": getEpisodeNo == null ? null : getEpisodeNo,
|
||||
"GetPatientERSessionStatusList": getPatientErSessionStatusList,
|
||||
"GetVCStatusBySessionIDList": getVcStatusBySessionIdList,
|
||||
"HasAppointment": hasAppointment == null ? null : hasAppointment,
|
||||
"HasVirtualClinic": hasVirtualClinic,
|
||||
"HttpStatusCode": httpStatusCode,
|
||||
"ICDCodesList": icdCodesList,
|
||||
"IsAccepted": isAccepted == null ? null : isAccepted,
|
||||
"IsChangePassword": isChangePassword == null ? null : isChangePassword,
|
||||
"IsLogout": isLogout == null ? null : isLogout,
|
||||
"IsPatientERRequestVCSessionAndTokenUpdated": isPatientErRequestVcSessionAndTokenUpdated == null ? null : isPatientErRequestVcSessionAndTokenUpdated,
|
||||
"IsPatientSessionStatusInserted": isPatientSessionStatusInserted == null ? null : isPatientSessionStatusInserted,
|
||||
"IsPatientSessionStatusUpdated": isPatientSessionStatusUpdated == null ? null : isPatientSessionStatusUpdated,
|
||||
"IsSent": isSent == null ? null : isSent,
|
||||
"LabResultType": labResultType == null ? null : labResultType,
|
||||
"ListSickLeavesToExtent": listSickLeavesToExtent,
|
||||
"List_AdmissionOrders": listAdmissionOrders,
|
||||
"List_Allergies": listAllergies,
|
||||
"List_ApprovalMain_InPatient": listApprovalMainInPatient,
|
||||
"List_ChiefComplaint": listChiefComplaint,
|
||||
"List_Clinic_All": listClinicAll,
|
||||
"List_DiabeticChartValues": listDiabeticChartValues,
|
||||
"List_DiagnosisForInPatient": listDiagnosisForInPatient,
|
||||
"List_DischargeSummary": listDischargeSummary,
|
||||
"List_DoctorDeviceDetails": listDoctorDeviceDetails == null ? null : List<dynamic>.from(listDoctorDeviceDetails!.map((x) => x)),
|
||||
"List_DoctorProfile": listDoctorProfile,
|
||||
"List_DoctorProgressNote": listDoctorProgressNote,
|
||||
"List_DoctorsClinic": listDoctorsClinic == null ? null : List<dynamic>.from(listDoctorsClinic!.map((x) => x.toJson())),
|
||||
"List_Doctors_All": listDoctorsAll,
|
||||
"List_DrugToDrugTherapy": listDrugToDrugTherapy,
|
||||
"List_GetLabNormal": listGetLabNormal,
|
||||
"List_GetLabOreders": listGetLabOreders,
|
||||
"List_GetLabSpecial": listGetLabSpecial,
|
||||
"List_GetMedicationForInpatient": listGetMedicationForInpatient,
|
||||
"List_GetPatientVitalSign": listGetPatientVitalSign,
|
||||
"List_GetPregressNoteForInPatient": listGetPregressNoteForInPatient,
|
||||
"List_GetRadOreders": listGetRadOreders,
|
||||
"List_GtMyPatientsQuestions": listGtMyPatientsQuestions,
|
||||
"List_History": listHistory,
|
||||
"List_ICDCodes": listIcdCodes,
|
||||
"List_InterventionHistory": listInterventionHistory,
|
||||
"List_InterventionMedications": listInterventionMedications,
|
||||
"List_MyDischargePatient": listMyDischargePatient,
|
||||
"List_MyDischargeReferralPatient": listMyDischargeReferralPatient,
|
||||
"List_MyDischargeReferredPatient": listMyDischargeReferredPatient,
|
||||
"List_MyInPatient": listMyInPatient,
|
||||
"List_MyOutPatient": listMyOutPatient,
|
||||
"List_MyOutPatientReferral": listMyOutPatientReferral,
|
||||
"List_MyReferralPatient": listMyReferralPatient,
|
||||
"List_MyReferredOutPatient": listMyReferredOutPatient,
|
||||
"List_MyReferredPatient": listMyReferredPatient,
|
||||
"List_MyTomorrowPatient": listMyTomorrowPatient,
|
||||
"List_NursingProgressNote": listNursingProgressNote,
|
||||
"List_OTReservationDetails": listOtReservationDetails,
|
||||
"List_OperationDetails": listOperationDetails,
|
||||
"List_PendingDischargeSummary": listPendingDischargeSummary,
|
||||
"List_PendingOrders": listPendingOrders,
|
||||
"List_PendingPatientAdminList": listPendingPatientAdminList,
|
||||
"List_PendingPatientList": listPendingPatientList,
|
||||
"List_PrescriptionAuditLogInfo": listPrescriptionAuditLogInfo,
|
||||
"List_PrescriptionReportByPatientID": listPrescriptionReportByPatientId,
|
||||
"List_PrescriptionReportForInPatient": listPrescriptionReportForInPatient,
|
||||
"List_RxAuditLogInfo": listRxAuditLogInfo,
|
||||
"List_STPMasterList": listStpMasterList,
|
||||
"List_SpecialClinicalCareList": listSpecialClinicalCareList,
|
||||
"List_SpecialClinicalCareMappingList": listSpecialClinicalCareMappingList,
|
||||
"LogInTokenID": logInTokenId,
|
||||
"MasterLookUpList": masterLookUpList,
|
||||
"MedicationList": medicationList,
|
||||
"MemberID": memberId == null ? null : memberId,
|
||||
"OrderedProcedureList": orderedProcedureList,
|
||||
"PatientDetails": patientDetails,
|
||||
"PatientFileList": patientFileList,
|
||||
"PatientInfo_List": patientInfoList,
|
||||
"PatientInforBySearchCriteriaHISGENX_List": patientInforBySearchCriteriaHisgenxList,
|
||||
"PatientInforBySearchCriteria_List": patientInforBySearchCriteriaList,
|
||||
"PatientOutSA": patientOutSa == null ? null : patientOutSa,
|
||||
"PatientsFileInfo_List": patientsFileInfoList,
|
||||
"PendingReferralList": pendingReferralList,
|
||||
"PhysicalExamAuditLogList": physicalExamAuditLogList,
|
||||
"PhysicalExamList": physicalExamList,
|
||||
"PrescriptionList": prescriptionList,
|
||||
"ProcedureList": procedureList,
|
||||
"ProgressNoteList": progressNoteList,
|
||||
"ProgressNotesAuditLogList": progressNotesAuditLogList,
|
||||
"ProjectID": projectId == null ? null : projectId,
|
||||
"ProjectInfo": projectInfo,
|
||||
"ReferralList": referralList,
|
||||
"RequestCompleted": requestCompleted == null ? null : requestCompleted,
|
||||
"RequisitionResponse": requisitionResponse,
|
||||
"ReturnValue": returnValue == null ? null : returnValue,
|
||||
"RowCount": rowCount == null ? null : rowCount,
|
||||
"SMSCode": smsCode,
|
||||
"SearchAdmissionList": searchAdmissionList,
|
||||
"SearchCriteriaKindList": searchCriteriaKindList,
|
||||
"SickLeaveStatistics": sickLeaveStatistics,
|
||||
"SickLeavesList": sickLeavesList,
|
||||
"SserviceID": sserviceId,
|
||||
"StartTime": startTime,
|
||||
"StatusMessage": statusMessage,
|
||||
"StrAppointmentDate": strAppointmentDate,
|
||||
"TotalUnUsedCount": totalUnUsedCount == null ? null : totalUnUsedCount,
|
||||
"UcafResponse": ucafResponse,
|
||||
"ValidateProcedureList": validateProcedureList,
|
||||
"ValidationErrors": validationErrors,
|
||||
"VerificationCode": verificationCode,
|
||||
"VidaAuthTokenID": vidaAuthTokenId,
|
||||
"VidaRefreshTokenID": vidaRefreshTokenId,
|
||||
"VitalSignsHistory": vitalSignsHistory,
|
||||
"VitalSignsList": vitalSignsList,
|
||||
"admissionResponse": admissionResponse,
|
||||
"coveringDoctorList": coveringDoctorList,
|
||||
"isActiveCode": isActiveCode == null ? null : isActiveCode,
|
||||
"isSMSSent": isSmsSent == null ? null : isSmsSent,
|
||||
"listCategories": listCategories,
|
||||
"listClinics": listClinics,
|
||||
"listDoctorDashboarKPI": listDoctorDashboarKpi,
|
||||
"listItemByMedicineCode": listItemByMedicineCode,
|
||||
"listKeywords": listKeywords,
|
||||
"listProcedureCategories": listProcedureCategories,
|
||||
"listProcedureResult": listProcedureResult,
|
||||
"memberInformation": memberInformation == null ? null : memberInformation!.toJson(),
|
||||
"patientArrivalList": patientArrivalList,
|
||||
"requisitionList": requisitionList,
|
||||
"requisitionScheduleList": requisitionScheduleList,
|
||||
"requisitionStatusList": requisitionStatusList,
|
||||
"resultValue": resultValue == null ? null : resultValue,
|
||||
"specialAuthenticate": specialAuthenticate == null ? null : specialAuthenticate,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,911 @@
|
||||
// To parse this JSON data, do
|
||||
//
|
||||
// final genericResponseModel2 = genericResponseModel2FromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:hmg_nurses/model/login/doctor_profile_model.dart';
|
||||
|
||||
GenericResponseModel2 genericResponseModel2FromJson(String str) => GenericResponseModel2.fromJson(json.decode(str));
|
||||
|
||||
String genericResponseModel2ToJson(GenericResponseModel2 data) => json.encode(data.toJson());
|
||||
|
||||
class GenericResponseModel2 {
|
||||
GenericResponseModel2({
|
||||
this.date,
|
||||
this.languageId,
|
||||
this.serviceName,
|
||||
this.time,
|
||||
this.androidLink,
|
||||
this.authenticationTokenId,
|
||||
this.data,
|
||||
this.dataw,
|
||||
this.dietType,
|
||||
this.dietTypeId,
|
||||
this.errorCode,
|
||||
this.errorEndUserMessage,
|
||||
this.errorEndUserMessageN,
|
||||
this.errorMessage,
|
||||
this.errorType,
|
||||
this.foodCategory,
|
||||
this.iosLink,
|
||||
this.isAuthenticated,
|
||||
this.mealOrderStatus,
|
||||
this.mealType,
|
||||
this.messageStatus,
|
||||
this.numberOfResultRecords,
|
||||
this.patientBlodType,
|
||||
this.successMsg,
|
||||
this.successMsgN,
|
||||
this.vidaUpdatedResponse,
|
||||
this.ageError,
|
||||
this.allowedBooking,
|
||||
this.ancillaryOrderInvoiceList,
|
||||
this.ancillaryOrderList,
|
||||
this.ancillaryOrderListCount,
|
||||
this.ancillaryOrderProcList,
|
||||
this.appoimentAllHistoryResultList,
|
||||
this.appoimentAllResultList,
|
||||
this.appointmentActiveNumber,
|
||||
this.appointmentNo,
|
||||
this.appointmentQr,
|
||||
this.avgDoctorRatingList,
|
||||
this.covid19AppointmentResponse,
|
||||
this.covid19FreeTimeSlots,
|
||||
this.covid19InvoiceResponse,
|
||||
this.covid19PatientShare,
|
||||
this.covid19TestProceduresList,
|
||||
this.clinicCategoryList,
|
||||
this.clinicInsertedId,
|
||||
this.clinicsHaveScheduleList,
|
||||
this.continueBookAppointment,
|
||||
this.dappTemplateGetList,
|
||||
this.decimalDoctorRate,
|
||||
this.dentalProcedure,
|
||||
this.dentalProcedureName,
|
||||
this.diseasesByClinicList,
|
||||
this.doctorBasicScheduleList,
|
||||
this.doctorByClinicIdList,
|
||||
this.doctorByDiseaseList,
|
||||
this.doctorCalenderList,
|
||||
this.doctorInformationAsHtml,
|
||||
this.doctorInformationRaw,
|
||||
this.doctorList,
|
||||
this.doctorPrePostImagesList,
|
||||
this.doctorProfileList,
|
||||
this.doctorRate,
|
||||
this.doctorRatingDetailsList,
|
||||
this.doctorScheduleMappingInsert,
|
||||
this.doctorSchedulesByClinicList,
|
||||
this.doctorscheduleslotInsert,
|
||||
this.doctorscheduleslotSelectList,
|
||||
this.erAppointmentFeesObject,
|
||||
this.erAdvancePaymentResponse,
|
||||
this.erOnlinePaymentDetailsResponse,
|
||||
this.erPatientShare,
|
||||
this.erTriageQuestionsList,
|
||||
this.errCode,
|
||||
this.errorSearchMsg,
|
||||
this.formId,
|
||||
this.freeTimeSlots,
|
||||
this.genderError,
|
||||
this.getDoctorMobileNo,
|
||||
this.getPatientInfoByPatientIdList,
|
||||
this.getPatientMedicalStatus,
|
||||
this.hisGetAllAppoimentHistoryList,
|
||||
this.hisGetDoctorOffDaysList,
|
||||
this.hisObgyneUltrasoundDoctorsList,
|
||||
this.hisProcedureTemplateDetailsList,
|
||||
this.hisProcedureTemplateList,
|
||||
this.hisWaitingCheckDoctorAvailableForWaitingAppointmentList,
|
||||
this.hisObGyneProcedureGetResponse,
|
||||
this.hisPrmGetApprovalRemarkList,
|
||||
this.hoursDiff,
|
||||
this.isDentalplan,
|
||||
this.isMobileAppDentalAllow,
|
||||
this.initialSlotDuration,
|
||||
this.isAllowToBookWaitingAppointment,
|
||||
this.isAllowVClinic,
|
||||
this.isAllowWaitList,
|
||||
this.isAppointmentAllowed,
|
||||
this.isClinicEnabledForIcdCodes,
|
||||
this.isDoctorExist,
|
||||
this.isInsertOrUpdate,
|
||||
this.isLastAppoitmentRatedList,
|
||||
this.isShowInsuranceUpdateModule,
|
||||
this.isSlotAvailable,
|
||||
this.lcGetClinicScheduleList,
|
||||
this.listHoursDiff,
|
||||
this.listReqTypes,
|
||||
this.listAllClinicRate,
|
||||
this.listAllDoctorRate,
|
||||
this.listAllProjectRate,
|
||||
this.listCovid19DoctorsByClinicAndProject,
|
||||
this.listCovid19ProjectDriveThroughTestingCenter,
|
||||
this.listCalculationTable,
|
||||
this.listDdAdminMembers,
|
||||
this.listDentalChiefComplain,
|
||||
this.listDentalDdDetails,
|
||||
this.listDentalDoctorChiefComplaintMapping,
|
||||
this.listDentalPediatricDoctor,
|
||||
this.listDoctorAll,
|
||||
this.listDoctorByIpAddressCheckIn,
|
||||
this.listDoctorByProjectClinicAr,
|
||||
this.listDoctorByProjectClinicEn,
|
||||
this.listDoctorCases,
|
||||
this.listDoctorClinics,
|
||||
this.listDoctorDetailsList,
|
||||
this.listDoctorDetailsListAr,
|
||||
this.listDoctorLanguages,
|
||||
this.listDoctorMappinsgs,
|
||||
this.listDoctorPatientVitalSign,
|
||||
this.listDoctorProcedureMapping,
|
||||
this.listDoctorProfileImage,
|
||||
this.listDoctorProject,
|
||||
this.listDoctorQualifications,
|
||||
this.listDoctorSlotFirstVisit,
|
||||
this.listDoctorSpeciality,
|
||||
this.listDoctorSpecializations,
|
||||
this.listDoctorWorkingHoursTable,
|
||||
this.listDoctorblacklistModel,
|
||||
this.listDoctorinfo,
|
||||
this.listEnglish,
|
||||
this.listGetAllCancelAppointmentReasons,
|
||||
this.listGetAllClinicsRoomNo,
|
||||
this.listGetAllDoctorsOnProject,
|
||||
this.listGetAllDoctorsbyProject,
|
||||
this.listGetAppForCancel,
|
||||
this.listGetClinicsInfobyProject,
|
||||
this.listGetClinicsbyProject,
|
||||
this.listGetDoctorsbyProject,
|
||||
this.listGetIpAddressForDd,
|
||||
this.listGetIpAddressForDentalDd,
|
||||
this.listGetInfoForDentalClinicsDd,
|
||||
this.listGetLoginDetails,
|
||||
this.listGetPatientCancelAppointment,
|
||||
this.listHisDoctorProject,
|
||||
this.listHisGetContactLensPerscription,
|
||||
this.listHisGetGlassPerscription,
|
||||
this.listHmgPartTimeDoctor,
|
||||
this.listInvoiceDetails,
|
||||
this.listIsPatientHasOnGoingEstimation,
|
||||
this.listLaserDoctors,
|
||||
this.listLaserProcedures,
|
||||
this.listMedicalReportByAppointment,
|
||||
this.listNonAdminProjectMapping,
|
||||
this.listPatientErAdminServiceModel,
|
||||
this.listPatientErDoctorBlackListModel,
|
||||
this.listPhysioDoctors,
|
||||
this.listProjectErpMapping,
|
||||
this.listRecordByIpAddress,
|
||||
this.listRecordByIpAddressNew,
|
||||
this.listRecordByIpAddressNewCheckIn,
|
||||
this.listRecordByIpAddressNewForDubai,
|
||||
this.listRescahdualOnlineModel,
|
||||
this.message,
|
||||
this.notesDoctorRatingForCocList,
|
||||
this.notesDoctorRatingList,
|
||||
this.onlineCheckInAppointments,
|
||||
this.onlineCheckinBeforeHour,
|
||||
this.prmAdmissionInfoList,
|
||||
this.prmDentalEstimationDetailList,
|
||||
this.prmDentalEstimationList,
|
||||
this.prmDoctorsForRadiologyList,
|
||||
this.prmGetErToOpdRequestStatusList,
|
||||
this.prmGetDoctorRatingList,
|
||||
this.prmGetProceureAndPackagesList,
|
||||
this.prmHisAppointmentqueuegetList,
|
||||
this.prmHisCheckDoctorIsFullyBookedList,
|
||||
this.prmHisGetDentalEstimationPlanList,
|
||||
this.prmHisGetDischargeInfoList,
|
||||
this.prmHisGetUpcomingConfirmedAppoimentList,
|
||||
this.prmHisQueueErToOpList,
|
||||
this.prmQueueERreferralHistoryGetList,
|
||||
this.prmSpecialClinicalCareMappingList,
|
||||
this.patientDoctorAppointmentResultExit,
|
||||
this.patientDoctorAppointmentResultList,
|
||||
this.patientErDoctorFreeSlots,
|
||||
this.patientErGetAllClinicsList,
|
||||
this.patientErGetDoctorClincByServiceIdList,
|
||||
this.patientErGetServiceList,
|
||||
this.patientErLogininsert,
|
||||
this.patientErPrescriptionLogin,
|
||||
this.patientErSelectAdmin,
|
||||
this.patientErSelectRole2,
|
||||
this.patientErUpdateLiveCareStatus,
|
||||
this.patientErInsert,
|
||||
this.patientInformationList,
|
||||
this.patientNumber,
|
||||
this.paymentModes,
|
||||
this.physioIsPatientHasApproval,
|
||||
this.physiotherapyError,
|
||||
this.procedureNeedeTime,
|
||||
this.riskScore,
|
||||
this.rowCount,
|
||||
this.sameClinicApptList,
|
||||
this.searchDoctorsByTimeIsVoiceCommandList,
|
||||
this.slotDuration,
|
||||
this.statusCode,
|
||||
this.tamaraIntegrationLogsInsertResponse,
|
||||
this.tamaraIntegrationLogsUpdateResponse,
|
||||
this.transactionNo,
|
||||
this.userDentalPlanMessage,
|
||||
this.waitingAppointmentNoPerDay,
|
||||
this.age,
|
||||
this.erpDoctorDetails,
|
||||
this.returnValue,
|
||||
});
|
||||
|
||||
final dynamic date;
|
||||
final int? languageId;
|
||||
final int? serviceName;
|
||||
final dynamic time;
|
||||
final dynamic androidLink;
|
||||
final dynamic authenticationTokenId;
|
||||
final dynamic data;
|
||||
final bool? dataw;
|
||||
final int? dietType;
|
||||
final int? dietTypeId;
|
||||
final dynamic errorCode;
|
||||
final dynamic errorEndUserMessage;
|
||||
final dynamic errorEndUserMessageN;
|
||||
final dynamic errorMessage;
|
||||
final int? errorType;
|
||||
final int? foodCategory;
|
||||
final dynamic iosLink;
|
||||
final bool? isAuthenticated;
|
||||
final int? mealOrderStatus;
|
||||
final int? mealType;
|
||||
final int? messageStatus;
|
||||
final int? numberOfResultRecords;
|
||||
final dynamic patientBlodType;
|
||||
final dynamic successMsg;
|
||||
final dynamic successMsgN;
|
||||
final dynamic vidaUpdatedResponse;
|
||||
final bool? ageError;
|
||||
final bool? allowedBooking;
|
||||
final dynamic ancillaryOrderInvoiceList;
|
||||
final dynamic ancillaryOrderList;
|
||||
final int? ancillaryOrderListCount;
|
||||
final dynamic ancillaryOrderProcList;
|
||||
final dynamic appoimentAllHistoryResultList;
|
||||
final dynamic appoimentAllResultList;
|
||||
final int? appointmentActiveNumber;
|
||||
final dynamic appointmentNo;
|
||||
final dynamic appointmentQr;
|
||||
final dynamic avgDoctorRatingList;
|
||||
final dynamic covid19AppointmentResponse;
|
||||
final dynamic covid19FreeTimeSlots;
|
||||
final dynamic covid19InvoiceResponse;
|
||||
final dynamic covid19PatientShare;
|
||||
final dynamic covid19TestProceduresList;
|
||||
final dynamic clinicCategoryList;
|
||||
final int? clinicInsertedId;
|
||||
final dynamic clinicsHaveScheduleList;
|
||||
final bool? continueBookAppointment;
|
||||
final dynamic dappTemplateGetList;
|
||||
final int? decimalDoctorRate;
|
||||
final dynamic dentalProcedure;
|
||||
final dynamic dentalProcedureName;
|
||||
final dynamic diseasesByClinicList;
|
||||
final dynamic doctorBasicScheduleList;
|
||||
final dynamic doctorByClinicIdList;
|
||||
final dynamic doctorByDiseaseList;
|
||||
final dynamic doctorCalenderList;
|
||||
final dynamic doctorInformationAsHtml;
|
||||
final dynamic doctorInformationRaw;
|
||||
final dynamic doctorList;
|
||||
final dynamic doctorPrePostImagesList;
|
||||
final List<DoctorProfileListModel>? doctorProfileList;
|
||||
final int? doctorRate;
|
||||
final dynamic doctorRatingDetailsList;
|
||||
final int? doctorScheduleMappingInsert;
|
||||
final dynamic doctorSchedulesByClinicList;
|
||||
final int? doctorscheduleslotInsert;
|
||||
final dynamic doctorscheduleslotSelectList;
|
||||
final dynamic erAppointmentFeesObject;
|
||||
final dynamic erAdvancePaymentResponse;
|
||||
final dynamic erOnlinePaymentDetailsResponse;
|
||||
final dynamic erPatientShare;
|
||||
final dynamic erTriageQuestionsList;
|
||||
final dynamic errCode;
|
||||
final dynamic errorSearchMsg;
|
||||
final int? formId;
|
||||
final dynamic freeTimeSlots;
|
||||
final bool? genderError;
|
||||
final dynamic getDoctorMobileNo;
|
||||
final dynamic getPatientInfoByPatientIdList;
|
||||
final dynamic getPatientMedicalStatus;
|
||||
final dynamic hisGetAllAppoimentHistoryList;
|
||||
final dynamic hisGetDoctorOffDaysList;
|
||||
final dynamic hisObgyneUltrasoundDoctorsList;
|
||||
final dynamic hisProcedureTemplateDetailsList;
|
||||
final dynamic hisProcedureTemplateList;
|
||||
final dynamic hisWaitingCheckDoctorAvailableForWaitingAppointmentList;
|
||||
final dynamic hisObGyneProcedureGetResponse;
|
||||
final dynamic hisPrmGetApprovalRemarkList;
|
||||
final int? hoursDiff;
|
||||
final bool? isDentalplan;
|
||||
final bool? isMobileAppDentalAllow;
|
||||
final int? initialSlotDuration;
|
||||
final bool? isAllowToBookWaitingAppointment;
|
||||
final bool? isAllowVClinic;
|
||||
final bool? isAllowWaitList;
|
||||
final bool? isAppointmentAllowed;
|
||||
final bool? isClinicEnabledForIcdCodes;
|
||||
final bool? isDoctorExist;
|
||||
final int? isInsertOrUpdate;
|
||||
final dynamic isLastAppoitmentRatedList;
|
||||
final bool? isShowInsuranceUpdateModule;
|
||||
final int? isSlotAvailable;
|
||||
final dynamic lcGetClinicScheduleList;
|
||||
final dynamic listHoursDiff;
|
||||
final dynamic listReqTypes;
|
||||
final dynamic listAllClinicRate;
|
||||
final dynamic listAllDoctorRate;
|
||||
final dynamic listAllProjectRate;
|
||||
final dynamic listCovid19DoctorsByClinicAndProject;
|
||||
final dynamic listCovid19ProjectDriveThroughTestingCenter;
|
||||
final dynamic listCalculationTable;
|
||||
final dynamic listDdAdminMembers;
|
||||
final dynamic listDentalChiefComplain;
|
||||
final dynamic listDentalDdDetails;
|
||||
final dynamic listDentalDoctorChiefComplaintMapping;
|
||||
final dynamic listDentalPediatricDoctor;
|
||||
final dynamic listDoctorAll;
|
||||
final dynamic listDoctorByIpAddressCheckIn;
|
||||
final dynamic listDoctorByProjectClinicAr;
|
||||
final dynamic listDoctorByProjectClinicEn;
|
||||
final dynamic listDoctorCases;
|
||||
final dynamic listDoctorClinics;
|
||||
final dynamic listDoctorDetailsList;
|
||||
final dynamic listDoctorDetailsListAr;
|
||||
final dynamic listDoctorLanguages;
|
||||
final dynamic listDoctorMappinsgs;
|
||||
final dynamic listDoctorPatientVitalSign;
|
||||
final dynamic listDoctorProcedureMapping;
|
||||
final dynamic listDoctorProfileImage;
|
||||
final dynamic listDoctorProject;
|
||||
final dynamic listDoctorQualifications;
|
||||
final dynamic listDoctorSlotFirstVisit;
|
||||
final dynamic listDoctorSpeciality;
|
||||
final dynamic listDoctorSpecializations;
|
||||
final dynamic listDoctorWorkingHoursTable;
|
||||
final dynamic listDoctorblacklistModel;
|
||||
final dynamic listDoctorinfo;
|
||||
final dynamic listEnglish;
|
||||
final dynamic listGetAllCancelAppointmentReasons;
|
||||
final dynamic listGetAllClinicsRoomNo;
|
||||
final dynamic listGetAllDoctorsOnProject;
|
||||
final dynamic listGetAllDoctorsbyProject;
|
||||
final dynamic listGetAppForCancel;
|
||||
final dynamic listGetClinicsInfobyProject;
|
||||
final dynamic listGetClinicsbyProject;
|
||||
final dynamic listGetDoctorsbyProject;
|
||||
final dynamic listGetIpAddressForDd;
|
||||
final dynamic listGetIpAddressForDentalDd;
|
||||
final dynamic listGetInfoForDentalClinicsDd;
|
||||
final dynamic listGetLoginDetails;
|
||||
final dynamic listGetPatientCancelAppointment;
|
||||
final dynamic listHisDoctorProject;
|
||||
final dynamic listHisGetContactLensPerscription;
|
||||
final dynamic listHisGetGlassPerscription;
|
||||
final dynamic listHmgPartTimeDoctor;
|
||||
final dynamic listInvoiceDetails;
|
||||
final dynamic listIsPatientHasOnGoingEstimation;
|
||||
final dynamic listLaserDoctors;
|
||||
final dynamic listLaserProcedures;
|
||||
final dynamic listMedicalReportByAppointment;
|
||||
final dynamic listNonAdminProjectMapping;
|
||||
final dynamic listPatientErAdminServiceModel;
|
||||
final dynamic listPatientErDoctorBlackListModel;
|
||||
final dynamic listPhysioDoctors;
|
||||
final dynamic listProjectErpMapping;
|
||||
final dynamic listRecordByIpAddress;
|
||||
final dynamic listRecordByIpAddressNew;
|
||||
final dynamic listRecordByIpAddressNewCheckIn;
|
||||
final dynamic listRecordByIpAddressNewForDubai;
|
||||
final dynamic listRescahdualOnlineModel;
|
||||
final dynamic message;
|
||||
final dynamic notesDoctorRatingForCocList;
|
||||
final dynamic notesDoctorRatingList;
|
||||
final dynamic onlineCheckInAppointments;
|
||||
final int? onlineCheckinBeforeHour;
|
||||
final dynamic prmAdmissionInfoList;
|
||||
final dynamic prmDentalEstimationDetailList;
|
||||
final dynamic prmDentalEstimationList;
|
||||
final dynamic prmDoctorsForRadiologyList;
|
||||
final dynamic prmGetErToOpdRequestStatusList;
|
||||
final dynamic prmGetDoctorRatingList;
|
||||
final dynamic prmGetProceureAndPackagesList;
|
||||
final dynamic prmHisAppointmentqueuegetList;
|
||||
final dynamic prmHisCheckDoctorIsFullyBookedList;
|
||||
final dynamic prmHisGetDentalEstimationPlanList;
|
||||
final dynamic prmHisGetDischargeInfoList;
|
||||
final dynamic prmHisGetUpcomingConfirmedAppoimentList;
|
||||
final dynamic prmHisQueueErToOpList;
|
||||
final dynamic prmQueueERreferralHistoryGetList;
|
||||
final dynamic prmSpecialClinicalCareMappingList;
|
||||
final bool? patientDoctorAppointmentResultExit;
|
||||
final dynamic patientDoctorAppointmentResultList;
|
||||
final dynamic patientErDoctorFreeSlots;
|
||||
final dynamic patientErGetAllClinicsList;
|
||||
final dynamic patientErGetDoctorClincByServiceIdList;
|
||||
final dynamic patientErGetServiceList;
|
||||
final int? patientErLogininsert;
|
||||
final dynamic patientErPrescriptionLogin;
|
||||
final dynamic patientErSelectAdmin;
|
||||
final dynamic patientErSelectRole2;
|
||||
final int? patientErUpdateLiveCareStatus;
|
||||
final int? patientErInsert;
|
||||
final dynamic patientInformationList;
|
||||
final int? patientNumber;
|
||||
final dynamic paymentModes;
|
||||
final bool? physioIsPatientHasApproval;
|
||||
final int? physiotherapyError;
|
||||
final dynamic procedureNeedeTime;
|
||||
final int? riskScore;
|
||||
final int? rowCount;
|
||||
final dynamic sameClinicApptList;
|
||||
final dynamic searchDoctorsByTimeIsVoiceCommandList;
|
||||
final int? slotDuration;
|
||||
final int? statusCode;
|
||||
final int? tamaraIntegrationLogsInsertResponse;
|
||||
final int? tamaraIntegrationLogsUpdateResponse;
|
||||
final dynamic transactionNo;
|
||||
final dynamic userDentalPlanMessage;
|
||||
final int? waitingAppointmentNoPerDay;
|
||||
final int? age;
|
||||
final dynamic erpDoctorDetails;
|
||||
final int? returnValue;
|
||||
|
||||
factory GenericResponseModel2.fromJson(Map<String, dynamic> json) => GenericResponseModel2(
|
||||
date: json["Date"],
|
||||
languageId: json["LanguageID"] == null ? null : json["LanguageID"],
|
||||
serviceName: json["ServiceName"] == null ? null : json["ServiceName"],
|
||||
time: json["Time"],
|
||||
androidLink: json["AndroidLink"],
|
||||
authenticationTokenId: json["AuthenticationTokenID"],
|
||||
data: json["Data"],
|
||||
dataw: json["Dataw"] == null ? null : json["Dataw"],
|
||||
dietType: json["DietType"] == null ? null : json["DietType"],
|
||||
dietTypeId: json["DietTypeID"] == null ? null : json["DietTypeID"],
|
||||
errorCode: json["ErrorCode"],
|
||||
errorEndUserMessage: json["ErrorEndUserMessage"],
|
||||
errorEndUserMessageN: json["ErrorEndUserMessageN"],
|
||||
errorMessage: json["ErrorMessage"],
|
||||
errorType: json["ErrorType"] == null ? null : json["ErrorType"],
|
||||
foodCategory: json["FoodCategory"] == null ? null : json["FoodCategory"],
|
||||
iosLink: json["IOSLink"],
|
||||
isAuthenticated: json["IsAuthenticated"] == null ? null : json["IsAuthenticated"],
|
||||
mealOrderStatus: json["MealOrderStatus"] == null ? null : json["MealOrderStatus"],
|
||||
mealType: json["MealType"] == null ? null : json["MealType"],
|
||||
messageStatus: json["MessageStatus"] == null ? null : json["MessageStatus"],
|
||||
numberOfResultRecords: json["NumberOfResultRecords"] == null ? null : json["NumberOfResultRecords"],
|
||||
patientBlodType: json["PatientBlodType"],
|
||||
successMsg: json["SuccessMsg"],
|
||||
successMsgN: json["SuccessMsgN"],
|
||||
vidaUpdatedResponse: json["VidaUpdatedResponse"],
|
||||
ageError: json["AgeError"] == null ? null : json["AgeError"],
|
||||
allowedBooking: json["AllowedBooking"] == null ? null : json["AllowedBooking"],
|
||||
ancillaryOrderInvoiceList: json["AncillaryOrderInvoiceList"],
|
||||
ancillaryOrderList: json["AncillaryOrderList"],
|
||||
ancillaryOrderListCount: json["AncillaryOrderListCount"] == null ? null : json["AncillaryOrderListCount"],
|
||||
ancillaryOrderProcList: json["AncillaryOrderProcList"],
|
||||
appoimentAllHistoryResultList: json["AppoimentAllHistoryResultList"],
|
||||
appoimentAllResultList: json["AppoimentAllResultList"],
|
||||
appointmentActiveNumber: json["AppointmentActiveNumber"] == null ? null : json["AppointmentActiveNumber"],
|
||||
appointmentNo: json["AppointmentNo"],
|
||||
appointmentQr: json["AppointmentQR"],
|
||||
avgDoctorRatingList: json["AvgDoctorRatingList"],
|
||||
covid19AppointmentResponse: json["COVID19_AppointmentResponse"],
|
||||
covid19FreeTimeSlots: json["COVID19_FreeTimeSlots"],
|
||||
covid19InvoiceResponse: json["COVID19_InvoiceResponse"],
|
||||
covid19PatientShare: json["COVID19_PatientShare"],
|
||||
covid19TestProceduresList: json["COVID19_TestProceduresList"],
|
||||
clinicCategoryList: json["ClinicCategoryList"],
|
||||
clinicInsertedId: json["ClinicInsertedID"] == null ? null : json["ClinicInsertedID"],
|
||||
clinicsHaveScheduleList: json["ClinicsHaveScheduleList"],
|
||||
continueBookAppointment: json["ContinueBookAppointment"] == null ? null : json["ContinueBookAppointment"],
|
||||
dappTemplateGetList: json["DAPP_TemplateGetList"],
|
||||
decimalDoctorRate: json["DecimalDoctorRate"] == null ? null : json["DecimalDoctorRate"],
|
||||
dentalProcedure: json["DentalProcedure"],
|
||||
dentalProcedureName: json["DentalProcedureName"],
|
||||
diseasesByClinicList: json["DiseasesByClinicList"],
|
||||
doctorBasicScheduleList: json["DoctorBasicScheduleList"],
|
||||
doctorByClinicIdList: json["DoctorByClinicIDList"],
|
||||
doctorByDiseaseList: json["DoctorByDiseaseList"],
|
||||
doctorCalenderList: json["DoctorCalenderList"],
|
||||
doctorInformationAsHtml: json["DoctorInformationAsHTML"],
|
||||
doctorInformationRaw: json["DoctorInformationRAW"],
|
||||
doctorList: json["DoctorList"],
|
||||
doctorPrePostImagesList: json["DoctorPrePostImagesList"],
|
||||
doctorProfileList: json["DoctorProfileList"] == null ? null : List<DoctorProfileListModel>.from(json["DoctorProfileList"].map((x) => DoctorProfileListModel.fromJson(x))),
|
||||
doctorRate: json["DoctorRate"] == null ? null : json["DoctorRate"],
|
||||
doctorRatingDetailsList: json["DoctorRatingDetailsList"],
|
||||
doctorScheduleMappingInsert: json["DoctorScheduleMapping_Insert"] == null ? null : json["DoctorScheduleMapping_Insert"],
|
||||
doctorSchedulesByClinicList: json["DoctorSchedulesByClinicList"],
|
||||
doctorscheduleslotInsert: json["Doctorscheduleslot_Insert"] == null ? null : json["Doctorscheduleslot_Insert"],
|
||||
doctorscheduleslotSelectList: json["Doctorscheduleslot_SelectList"],
|
||||
erAppointmentFeesObject: json["ERAppointmentFeesObject"],
|
||||
erAdvancePaymentResponse: json["ER_AdvancePaymentResponse"],
|
||||
erOnlinePaymentDetailsResponse: json["ER_OnlinePaymentDetailsResponse"],
|
||||
erPatientShare: json["ER_PatientShare"],
|
||||
erTriageQuestionsList: json["ER_TriageQuestionsList"],
|
||||
errCode: json["ErrCode"],
|
||||
errorSearchMsg: json["ErrorSearchMsg"],
|
||||
formId: json["FormID"] == null ? null : json["FormID"],
|
||||
freeTimeSlots: json["FreeTimeSlots"],
|
||||
genderError: json["GenderError"] == null ? null : json["GenderError"],
|
||||
getDoctorMobileNo: json["GetDoctorMobileNo"],
|
||||
getPatientInfoByPatientIdList: json["GetPatientInfoByPatientIDList"],
|
||||
getPatientMedicalStatus: json["GetPatientMedicalStatus"],
|
||||
hisGetAllAppoimentHistoryList: json["HIS_GetAllAppoimentHistoryList"],
|
||||
hisGetDoctorOffDaysList: json["HIS_GetDoctorOffDaysList"],
|
||||
hisObgyneUltrasoundDoctorsList: json["HIS_ObgyneUltrasoundDoctorsList"],
|
||||
hisProcedureTemplateDetailsList: json["HIS_ProcedureTemplateDetailsList"],
|
||||
hisProcedureTemplateList: json["HIS_ProcedureTemplateList"],
|
||||
hisWaitingCheckDoctorAvailableForWaitingAppointmentList: json["HIS_Waiting_CheckDoctorAvailableForWaitingAppointment_List"],
|
||||
hisObGyneProcedureGetResponse: json["His_ObGyneProcedureGet_Response"],
|
||||
hisPrmGetApprovalRemarkList: json["His_PRM_GetApprovalRemarkList"],
|
||||
hoursDiff: json["HoursDiff"] == null ? null : json["HoursDiff"],
|
||||
isDentalplan: json["ISDentalplan"] == null ? null : json["ISDentalplan"],
|
||||
isMobileAppDentalAllow: json["ISMobileAppDentalAllow"] == null ? null : json["ISMobileAppDentalAllow"],
|
||||
initialSlotDuration: json["InitialSlotDuration"] == null ? null : json["InitialSlotDuration"],
|
||||
isAllowToBookWaitingAppointment: json["IsAllowToBookWaitingAppointment"] == null ? null : json["IsAllowToBookWaitingAppointment"],
|
||||
isAllowVClinic: json["IsAllowVClinic"] == null ? null : json["IsAllowVClinic"],
|
||||
isAllowWaitList: json["IsAllowWaitList"] == null ? null : json["IsAllowWaitList"],
|
||||
isAppointmentAllowed: json["IsAppointmentAllowed"] == null ? null : json["IsAppointmentAllowed"],
|
||||
isClinicEnabledForIcdCodes: json["IsClinicEnabledForICDCodes"] == null ? null : json["IsClinicEnabledForICDCodes"],
|
||||
isDoctorExist: json["IsDoctorExist"] == null ? null : json["IsDoctorExist"],
|
||||
isInsertOrUpdate: json["IsInsertOrUpdate"] == null ? null : json["IsInsertOrUpdate"],
|
||||
isLastAppoitmentRatedList: json["IsLastAppoitmentRatedList"],
|
||||
isShowInsuranceUpdateModule: json["IsShowInsuranceUpdateModule"] == null ? null : json["IsShowInsuranceUpdateModule"],
|
||||
isSlotAvailable: json["IsSlotAvailable"] == null ? null : json["IsSlotAvailable"],
|
||||
lcGetClinicScheduleList: json["LC_GetClinicScheduleList"],
|
||||
listHoursDiff: json["ListHoursDiff"],
|
||||
listReqTypes: json["ListReqTypes"],
|
||||
listAllClinicRate: json["List_AllClinicRate"],
|
||||
listAllDoctorRate: json["List_AllDoctorRate"],
|
||||
listAllProjectRate: json["List_AllProjectRate"],
|
||||
listCovid19DoctorsByClinicAndProject: json["List_COVID19_DoctorsByClinicAndProject"],
|
||||
listCovid19ProjectDriveThroughTestingCenter: json["List_COVID19_ProjectDriveThroughTestingCenter"],
|
||||
listCalculationTable: json["List_CalculationTable"],
|
||||
listDdAdminMembers: json["List_DDAdmin_Members"],
|
||||
listDentalChiefComplain: json["List_DentalChiefComplain"],
|
||||
listDentalDdDetails: json["List_DentalDDDetails"],
|
||||
listDentalDoctorChiefComplaintMapping: json["List_DentalDoctorChiefComplaintMapping"],
|
||||
listDentalPediatricDoctor: json["List_DentalPediatricDoctor"],
|
||||
listDoctorAll: json["List_DoctorAll"],
|
||||
listDoctorByIpAddressCheckIn: json["List_DoctorByIPAddressCheckIn"],
|
||||
listDoctorByProjectClinicAr: json["List_DoctorByProjectClinicAr"],
|
||||
listDoctorByProjectClinicEn: json["List_DoctorByProjectClinicEn"],
|
||||
listDoctorCases: json["List_DoctorCases"],
|
||||
listDoctorClinics: json["List_DoctorClinics"],
|
||||
listDoctorDetailsList: json["List_DoctorDetailsList"],
|
||||
listDoctorDetailsListAr: json["List_DoctorDetailsListAr"],
|
||||
listDoctorLanguages: json["List_DoctorLanguages"],
|
||||
listDoctorMappinsgs: json["List_DoctorMappinsgs"],
|
||||
listDoctorPatientVitalSign: json["List_DoctorPatientVitalSign"],
|
||||
listDoctorProcedureMapping: json["List_DoctorProcedureMapping"],
|
||||
listDoctorProfileImage: json["List_DoctorProfileImage"],
|
||||
listDoctorProject: json["List_DoctorProject"],
|
||||
listDoctorQualifications: json["List_DoctorQualifications"],
|
||||
listDoctorSlotFirstVisit: json["List_DoctorSlotFirstVisit"],
|
||||
listDoctorSpeciality: json["List_DoctorSpeciality"],
|
||||
listDoctorSpecializations: json["List_DoctorSpecializations"],
|
||||
listDoctorWorkingHoursTable: json["List_DoctorWorkingHoursTable"],
|
||||
listDoctorblacklistModel: json["List_DoctorblacklistModel"],
|
||||
listDoctorinfo: json["List_Doctorinfo"],
|
||||
listEnglish: json["List_English"],
|
||||
listGetAllCancelAppointmentReasons: json["List_GetAllCancelAppointmentReasons"],
|
||||
listGetAllClinicsRoomNo: json["List_GetAllClinicsRoomNo"],
|
||||
listGetAllDoctorsOnProject: json["List_GetAllDoctorsOnProject"],
|
||||
listGetAllDoctorsbyProject: json["List_GetAllDoctorsbyProject"],
|
||||
listGetAppForCancel: json["List_GetAppForCancel"],
|
||||
listGetClinicsInfobyProject: json["List_GetClinicsInfobyProject"],
|
||||
listGetClinicsbyProject: json["List_GetClinicsbyProject"],
|
||||
listGetDoctorsbyProject: json["List_GetDoctorsbyProject"],
|
||||
listGetIpAddressForDd: json["List_GetIPAddressForDD"],
|
||||
listGetIpAddressForDentalDd: json["List_GetIPAddressForDentalDD"],
|
||||
listGetInfoForDentalClinicsDd: json["List_GetInfoForDentalClinicsDD"],
|
||||
listGetLoginDetails: json["List_GetLoginDetails"],
|
||||
listGetPatientCancelAppointment: json["List_GetPatientCancelAppointment"],
|
||||
listHisDoctorProject: json["List_HISDoctorProject"],
|
||||
listHisGetContactLensPerscription: json["List_HIS_GetContactLensPerscription"],
|
||||
listHisGetGlassPerscription: json["List_HIS_GetGlassPerscription"],
|
||||
listHmgPartTimeDoctor: json["List_HmgPartTimeDoctor"],
|
||||
listInvoiceDetails: json["List_InvoiceDetails"],
|
||||
listIsPatientHasOnGoingEstimation: json["List_IsPatientHasOnGoingEstimation"],
|
||||
listLaserDoctors: json["List_LaserDoctors"],
|
||||
listLaserProcedures: json["List_LaserProcedures"],
|
||||
listMedicalReportByAppointment: json["List_MedicalReportByAppointment"],
|
||||
listNonAdminProjectMapping: json["List_NonAdminProjectMapping"],
|
||||
listPatientErAdminServiceModel: json["List_PatientER_AdminServiceModel"],
|
||||
listPatientErDoctorBlackListModel: json["List_PatientER_DoctorBlackListModel"],
|
||||
listPhysioDoctors: json["List_PhysioDoctors"],
|
||||
listProjectErpMapping: json["List_ProjectERPMapping"],
|
||||
listRecordByIpAddress: json["List_RecordByIPAddress"],
|
||||
listRecordByIpAddressNew: json["List_RecordByIPAddressNew"],
|
||||
listRecordByIpAddressNewCheckIn: json["List_RecordByIPAddressNewCheckIn"],
|
||||
listRecordByIpAddressNewForDubai: json["List_RecordByIPAddressNewForDubai"],
|
||||
listRescahdualOnlineModel: json["List_RescahdualOnlineModel"],
|
||||
message: json["Message"],
|
||||
notesDoctorRatingForCocList: json["NotesDoctorRatingForCOC_List"],
|
||||
notesDoctorRatingList: json["NotesDoctorRatingList"],
|
||||
onlineCheckInAppointments: json["OnlineCheckInAppointments"],
|
||||
onlineCheckinBeforeHour: json["OnlineCheckinBeforeHour"] == null ? null : json["OnlineCheckinBeforeHour"],
|
||||
prmAdmissionInfoList: json["PRM_AdmissionInfoList"],
|
||||
prmDentalEstimationDetailList: json["PRM_DentalEstimationDetailList"],
|
||||
prmDentalEstimationList: json["PRM_DentalEstimationList"],
|
||||
prmDoctorsForRadiologyList: json["PRM_DoctorsForRadiologyList"],
|
||||
prmGetErToOpdRequestStatusList: json["PRM_GET_ERToOPDRequestStatusList"],
|
||||
prmGetDoctorRatingList: json["PRM_GetDoctorRatingList"],
|
||||
prmGetProceureAndPackagesList: json["PRM_GetProceureAndPackagesList"],
|
||||
prmHisAppointmentqueuegetList: json["PRM_HIS_AppointmentqueuegetList"],
|
||||
prmHisCheckDoctorIsFullyBookedList: json["PRM_HIS_CheckDoctorIsFullyBookedList"],
|
||||
prmHisGetDentalEstimationPlanList: json["PRM_HIS_GetDentalEstimationPlan_List"],
|
||||
prmHisGetDischargeInfoList: json["PRM_HIS_GetDischargeInfo_List"],
|
||||
prmHisGetUpcomingConfirmedAppoimentList: json["PRM_HIS_GetUpcomingConfirmedAppoimentList"],
|
||||
prmHisQueueErToOpList: json["PRM_HIS_QueueERToOP_List"],
|
||||
prmQueueERreferralHistoryGetList: json["PRM_QueueERreferralHistory_getList"],
|
||||
prmSpecialClinicalCareMappingList: json["PRM_SpecialClinicalCareMapping_List"],
|
||||
patientDoctorAppointmentResultExit: json["PatientDoctorAppointmentResultExit"] == null ? null : json["PatientDoctorAppointmentResultExit"],
|
||||
patientDoctorAppointmentResultList: json["PatientDoctorAppointmentResultList"],
|
||||
patientErDoctorFreeSlots: json["PatientER_DoctorFreeSlots"],
|
||||
patientErGetAllClinicsList: json["PatientER_GetAllClinics_List"],
|
||||
patientErGetDoctorClincByServiceIdList: json["PatientER_GetDoctorClincByServiceID_List"],
|
||||
patientErGetServiceList: json["PatientER_GetServiceList"],
|
||||
patientErLogininsert: json["PatientER_Logininsert"] == null ? null : json["PatientER_Logininsert"],
|
||||
patientErPrescriptionLogin: json["PatientER_PrescriptionLogin"],
|
||||
patientErSelectAdmin: json["PatientER_SelectAdmin"],
|
||||
patientErSelectRole2: json["PatientER_SelectRole2"],
|
||||
patientErUpdateLiveCareStatus: json["PatientER_UpdateLiveCareStatus"] == null ? null : json["PatientER_UpdateLiveCareStatus"],
|
||||
patientErInsert: json["PatientER_insert"] == null ? null : json["PatientER_insert"],
|
||||
patientInformationList: json["PatientInformationList"],
|
||||
patientNumber: json["PatientNumber"] == null ? null : json["PatientNumber"],
|
||||
paymentModes: json["PaymentModes"],
|
||||
physioIsPatientHasApproval: json["Physio_IsPatientHasApproval"] == null ? null : json["Physio_IsPatientHasApproval"],
|
||||
physiotherapyError: json["PhysiotherapyError"] == null ? null : json["PhysiotherapyError"],
|
||||
procedureNeedeTime: json["ProcedureNeedeTime"],
|
||||
riskScore: json["RiskScore"] == null ? null : json["RiskScore"],
|
||||
rowCount: json["RowCount"] == null ? null : json["RowCount"],
|
||||
sameClinicApptList: json["SameClinicApptList"],
|
||||
searchDoctorsByTimeIsVoiceCommandList: json["SearchDoctorsByTime_IsVoiceCommandList"],
|
||||
slotDuration: json["SlotDuration"] == null ? null : json["SlotDuration"],
|
||||
statusCode: json["StatusCode"] == null ? null : json["StatusCode"],
|
||||
tamaraIntegrationLogsInsertResponse: json["Tamara_IntegrationLogsInsert_Response"] == null ? null : json["Tamara_IntegrationLogsInsert_Response"],
|
||||
tamaraIntegrationLogsUpdateResponse: json["Tamara_IntegrationLogsUpdate_Response"] == null ? null : json["Tamara_IntegrationLogsUpdate_Response"],
|
||||
transactionNo: json["TransactionNo"],
|
||||
userDentalPlanMessage: json["UserDentalPlanMessage"],
|
||||
waitingAppointmentNoPerDay: json["WaitingAppointmentNoPerDay"] == null ? null : json["WaitingAppointmentNoPerDay"],
|
||||
age: json["age"] == null ? null : json["age"],
|
||||
erpDoctorDetails: json["erpDoctorDetails"],
|
||||
returnValue: json["returnValue"] == null ? null : json["returnValue"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"Date": date,
|
||||
"LanguageID": languageId == null ? null : languageId,
|
||||
"ServiceName": serviceName == null ? null : serviceName,
|
||||
"Time": time,
|
||||
"AndroidLink": androidLink,
|
||||
"AuthenticationTokenID": authenticationTokenId,
|
||||
"Data": data,
|
||||
"Dataw": dataw == null ? null : dataw,
|
||||
"DietType": dietType == null ? null : dietType,
|
||||
"DietTypeID": dietTypeId == null ? null : dietTypeId,
|
||||
"ErrorCode": errorCode,
|
||||
"ErrorEndUserMessage": errorEndUserMessage,
|
||||
"ErrorEndUserMessageN": errorEndUserMessageN,
|
||||
"ErrorMessage": errorMessage,
|
||||
"ErrorType": errorType == null ? null : errorType,
|
||||
"FoodCategory": foodCategory == null ? null : foodCategory,
|
||||
"IOSLink": iosLink,
|
||||
"IsAuthenticated": isAuthenticated == null ? null : isAuthenticated,
|
||||
"MealOrderStatus": mealOrderStatus == null ? null : mealOrderStatus,
|
||||
"MealType": mealType == null ? null : mealType,
|
||||
"MessageStatus": messageStatus == null ? null : messageStatus,
|
||||
"NumberOfResultRecords": numberOfResultRecords == null ? null : numberOfResultRecords,
|
||||
"PatientBlodType": patientBlodType,
|
||||
"SuccessMsg": successMsg,
|
||||
"SuccessMsgN": successMsgN,
|
||||
"VidaUpdatedResponse": vidaUpdatedResponse,
|
||||
"AgeError": ageError == null ? null : ageError,
|
||||
"AllowedBooking": allowedBooking == null ? null : allowedBooking,
|
||||
"AncillaryOrderInvoiceList": ancillaryOrderInvoiceList,
|
||||
"AncillaryOrderList": ancillaryOrderList,
|
||||
"AncillaryOrderListCount": ancillaryOrderListCount == null ? null : ancillaryOrderListCount,
|
||||
"AncillaryOrderProcList": ancillaryOrderProcList,
|
||||
"AppoimentAllHistoryResultList": appoimentAllHistoryResultList,
|
||||
"AppoimentAllResultList": appoimentAllResultList,
|
||||
"AppointmentActiveNumber": appointmentActiveNumber == null ? null : appointmentActiveNumber,
|
||||
"AppointmentNo": appointmentNo,
|
||||
"AppointmentQR": appointmentQr,
|
||||
"AvgDoctorRatingList": avgDoctorRatingList,
|
||||
"COVID19_AppointmentResponse": covid19AppointmentResponse,
|
||||
"COVID19_FreeTimeSlots": covid19FreeTimeSlots,
|
||||
"COVID19_InvoiceResponse": covid19InvoiceResponse,
|
||||
"COVID19_PatientShare": covid19PatientShare,
|
||||
"COVID19_TestProceduresList": covid19TestProceduresList,
|
||||
"ClinicCategoryList": clinicCategoryList,
|
||||
"ClinicInsertedID": clinicInsertedId == null ? null : clinicInsertedId,
|
||||
"ClinicsHaveScheduleList": clinicsHaveScheduleList,
|
||||
"ContinueBookAppointment": continueBookAppointment == null ? null : continueBookAppointment,
|
||||
"DAPP_TemplateGetList": dappTemplateGetList,
|
||||
"DecimalDoctorRate": decimalDoctorRate == null ? null : decimalDoctorRate,
|
||||
"DentalProcedure": dentalProcedure,
|
||||
"DentalProcedureName": dentalProcedureName,
|
||||
"DiseasesByClinicList": diseasesByClinicList,
|
||||
"DoctorBasicScheduleList": doctorBasicScheduleList,
|
||||
"DoctorByClinicIDList": doctorByClinicIdList,
|
||||
"DoctorByDiseaseList": doctorByDiseaseList,
|
||||
"DoctorCalenderList": doctorCalenderList,
|
||||
"DoctorInformationAsHTML": doctorInformationAsHtml,
|
||||
"DoctorInformationRAW": doctorInformationRaw,
|
||||
"DoctorList": doctorList,
|
||||
"DoctorPrePostImagesList": doctorPrePostImagesList,
|
||||
"DoctorProfileList": doctorProfileList == null ? null : List<dynamic>.from(doctorProfileList!.map((x) => x.toJson())),
|
||||
"DoctorRate": doctorRate == null ? null : doctorRate,
|
||||
"DoctorRatingDetailsList": doctorRatingDetailsList,
|
||||
"DoctorScheduleMapping_Insert": doctorScheduleMappingInsert == null ? null : doctorScheduleMappingInsert,
|
||||
"DoctorSchedulesByClinicList": doctorSchedulesByClinicList,
|
||||
"Doctorscheduleslot_Insert": doctorscheduleslotInsert == null ? null : doctorscheduleslotInsert,
|
||||
"Doctorscheduleslot_SelectList": doctorscheduleslotSelectList,
|
||||
"ERAppointmentFeesObject": erAppointmentFeesObject,
|
||||
"ER_AdvancePaymentResponse": erAdvancePaymentResponse,
|
||||
"ER_OnlinePaymentDetailsResponse": erOnlinePaymentDetailsResponse,
|
||||
"ER_PatientShare": erPatientShare,
|
||||
"ER_TriageQuestionsList": erTriageQuestionsList,
|
||||
"ErrCode": errCode,
|
||||
"ErrorSearchMsg": errorSearchMsg,
|
||||
"FormID": formId == null ? null : formId,
|
||||
"FreeTimeSlots": freeTimeSlots,
|
||||
"GenderError": genderError == null ? null : genderError,
|
||||
"GetDoctorMobileNo": getDoctorMobileNo,
|
||||
"GetPatientInfoByPatientIDList": getPatientInfoByPatientIdList,
|
||||
"GetPatientMedicalStatus": getPatientMedicalStatus,
|
||||
"HIS_GetAllAppoimentHistoryList": hisGetAllAppoimentHistoryList,
|
||||
"HIS_GetDoctorOffDaysList": hisGetDoctorOffDaysList,
|
||||
"HIS_ObgyneUltrasoundDoctorsList": hisObgyneUltrasoundDoctorsList,
|
||||
"HIS_ProcedureTemplateDetailsList": hisProcedureTemplateDetailsList,
|
||||
"HIS_ProcedureTemplateList": hisProcedureTemplateList,
|
||||
"HIS_Waiting_CheckDoctorAvailableForWaitingAppointment_List": hisWaitingCheckDoctorAvailableForWaitingAppointmentList,
|
||||
"His_ObGyneProcedureGet_Response": hisObGyneProcedureGetResponse,
|
||||
"His_PRM_GetApprovalRemarkList": hisPrmGetApprovalRemarkList,
|
||||
"HoursDiff": hoursDiff == null ? null : hoursDiff,
|
||||
"ISDentalplan": isDentalplan == null ? null : isDentalplan,
|
||||
"ISMobileAppDentalAllow": isMobileAppDentalAllow == null ? null : isMobileAppDentalAllow,
|
||||
"InitialSlotDuration": initialSlotDuration == null ? null : initialSlotDuration,
|
||||
"IsAllowToBookWaitingAppointment": isAllowToBookWaitingAppointment == null ? null : isAllowToBookWaitingAppointment,
|
||||
"IsAllowVClinic": isAllowVClinic == null ? null : isAllowVClinic,
|
||||
"IsAllowWaitList": isAllowWaitList == null ? null : isAllowWaitList,
|
||||
"IsAppointmentAllowed": isAppointmentAllowed == null ? null : isAppointmentAllowed,
|
||||
"IsClinicEnabledForICDCodes": isClinicEnabledForIcdCodes == null ? null : isClinicEnabledForIcdCodes,
|
||||
"IsDoctorExist": isDoctorExist == null ? null : isDoctorExist,
|
||||
"IsInsertOrUpdate": isInsertOrUpdate == null ? null : isInsertOrUpdate,
|
||||
"IsLastAppoitmentRatedList": isLastAppoitmentRatedList,
|
||||
"IsShowInsuranceUpdateModule": isShowInsuranceUpdateModule == null ? null : isShowInsuranceUpdateModule,
|
||||
"IsSlotAvailable": isSlotAvailable == null ? null : isSlotAvailable,
|
||||
"LC_GetClinicScheduleList": lcGetClinicScheduleList,
|
||||
"ListHoursDiff": listHoursDiff,
|
||||
"ListReqTypes": listReqTypes,
|
||||
"List_AllClinicRate": listAllClinicRate,
|
||||
"List_AllDoctorRate": listAllDoctorRate,
|
||||
"List_AllProjectRate": listAllProjectRate,
|
||||
"List_COVID19_DoctorsByClinicAndProject": listCovid19DoctorsByClinicAndProject,
|
||||
"List_COVID19_ProjectDriveThroughTestingCenter": listCovid19ProjectDriveThroughTestingCenter,
|
||||
"List_CalculationTable": listCalculationTable,
|
||||
"List_DDAdmin_Members": listDdAdminMembers,
|
||||
"List_DentalChiefComplain": listDentalChiefComplain,
|
||||
"List_DentalDDDetails": listDentalDdDetails,
|
||||
"List_DentalDoctorChiefComplaintMapping": listDentalDoctorChiefComplaintMapping,
|
||||
"List_DentalPediatricDoctor": listDentalPediatricDoctor,
|
||||
"List_DoctorAll": listDoctorAll,
|
||||
"List_DoctorByIPAddressCheckIn": listDoctorByIpAddressCheckIn,
|
||||
"List_DoctorByProjectClinicAr": listDoctorByProjectClinicAr,
|
||||
"List_DoctorByProjectClinicEn": listDoctorByProjectClinicEn,
|
||||
"List_DoctorCases": listDoctorCases,
|
||||
"List_DoctorClinics": listDoctorClinics,
|
||||
"List_DoctorDetailsList": listDoctorDetailsList,
|
||||
"List_DoctorDetailsListAr": listDoctorDetailsListAr,
|
||||
"List_DoctorLanguages": listDoctorLanguages,
|
||||
"List_DoctorMappinsgs": listDoctorMappinsgs,
|
||||
"List_DoctorPatientVitalSign": listDoctorPatientVitalSign,
|
||||
"List_DoctorProcedureMapping": listDoctorProcedureMapping,
|
||||
"List_DoctorProfileImage": listDoctorProfileImage,
|
||||
"List_DoctorProject": listDoctorProject,
|
||||
"List_DoctorQualifications": listDoctorQualifications,
|
||||
"List_DoctorSlotFirstVisit": listDoctorSlotFirstVisit,
|
||||
"List_DoctorSpeciality": listDoctorSpeciality,
|
||||
"List_DoctorSpecializations": listDoctorSpecializations,
|
||||
"List_DoctorWorkingHoursTable": listDoctorWorkingHoursTable,
|
||||
"List_DoctorblacklistModel": listDoctorblacklistModel,
|
||||
"List_Doctorinfo": listDoctorinfo,
|
||||
"List_English": listEnglish,
|
||||
"List_GetAllCancelAppointmentReasons": listGetAllCancelAppointmentReasons,
|
||||
"List_GetAllClinicsRoomNo": listGetAllClinicsRoomNo,
|
||||
"List_GetAllDoctorsOnProject": listGetAllDoctorsOnProject,
|
||||
"List_GetAllDoctorsbyProject": listGetAllDoctorsbyProject,
|
||||
"List_GetAppForCancel": listGetAppForCancel,
|
||||
"List_GetClinicsInfobyProject": listGetClinicsInfobyProject,
|
||||
"List_GetClinicsbyProject": listGetClinicsbyProject,
|
||||
"List_GetDoctorsbyProject": listGetDoctorsbyProject,
|
||||
"List_GetIPAddressForDD": listGetIpAddressForDd,
|
||||
"List_GetIPAddressForDentalDD": listGetIpAddressForDentalDd,
|
||||
"List_GetInfoForDentalClinicsDD": listGetInfoForDentalClinicsDd,
|
||||
"List_GetLoginDetails": listGetLoginDetails,
|
||||
"List_GetPatientCancelAppointment": listGetPatientCancelAppointment,
|
||||
"List_HISDoctorProject": listHisDoctorProject,
|
||||
"List_HIS_GetContactLensPerscription": listHisGetContactLensPerscription,
|
||||
"List_HIS_GetGlassPerscription": listHisGetGlassPerscription,
|
||||
"List_HmgPartTimeDoctor": listHmgPartTimeDoctor,
|
||||
"List_InvoiceDetails": listInvoiceDetails,
|
||||
"List_IsPatientHasOnGoingEstimation": listIsPatientHasOnGoingEstimation,
|
||||
"List_LaserDoctors": listLaserDoctors,
|
||||
"List_LaserProcedures": listLaserProcedures,
|
||||
"List_MedicalReportByAppointment": listMedicalReportByAppointment,
|
||||
"List_NonAdminProjectMapping": listNonAdminProjectMapping,
|
||||
"List_PatientER_AdminServiceModel": listPatientErAdminServiceModel,
|
||||
"List_PatientER_DoctorBlackListModel": listPatientErDoctorBlackListModel,
|
||||
"List_PhysioDoctors": listPhysioDoctors,
|
||||
"List_ProjectERPMapping": listProjectErpMapping,
|
||||
"List_RecordByIPAddress": listRecordByIpAddress,
|
||||
"List_RecordByIPAddressNew": listRecordByIpAddressNew,
|
||||
"List_RecordByIPAddressNewCheckIn": listRecordByIpAddressNewCheckIn,
|
||||
"List_RecordByIPAddressNewForDubai": listRecordByIpAddressNewForDubai,
|
||||
"List_RescahdualOnlineModel": listRescahdualOnlineModel,
|
||||
"Message": message,
|
||||
"NotesDoctorRatingForCOC_List": notesDoctorRatingForCocList,
|
||||
"NotesDoctorRatingList": notesDoctorRatingList,
|
||||
"OnlineCheckInAppointments": onlineCheckInAppointments,
|
||||
"OnlineCheckinBeforeHour": onlineCheckinBeforeHour == null ? null : onlineCheckinBeforeHour,
|
||||
"PRM_AdmissionInfoList": prmAdmissionInfoList,
|
||||
"PRM_DentalEstimationDetailList": prmDentalEstimationDetailList,
|
||||
"PRM_DentalEstimationList": prmDentalEstimationList,
|
||||
"PRM_DoctorsForRadiologyList": prmDoctorsForRadiologyList,
|
||||
"PRM_GET_ERToOPDRequestStatusList": prmGetErToOpdRequestStatusList,
|
||||
"PRM_GetDoctorRatingList": prmGetDoctorRatingList,
|
||||
"PRM_GetProceureAndPackagesList": prmGetProceureAndPackagesList,
|
||||
"PRM_HIS_AppointmentqueuegetList": prmHisAppointmentqueuegetList,
|
||||
"PRM_HIS_CheckDoctorIsFullyBookedList": prmHisCheckDoctorIsFullyBookedList,
|
||||
"PRM_HIS_GetDentalEstimationPlan_List": prmHisGetDentalEstimationPlanList,
|
||||
"PRM_HIS_GetDischargeInfo_List": prmHisGetDischargeInfoList,
|
||||
"PRM_HIS_GetUpcomingConfirmedAppoimentList": prmHisGetUpcomingConfirmedAppoimentList,
|
||||
"PRM_HIS_QueueERToOP_List": prmHisQueueErToOpList,
|
||||
"PRM_QueueERreferralHistory_getList": prmQueueERreferralHistoryGetList,
|
||||
"PRM_SpecialClinicalCareMapping_List": prmSpecialClinicalCareMappingList,
|
||||
"PatientDoctorAppointmentResultExit": patientDoctorAppointmentResultExit == null ? null : patientDoctorAppointmentResultExit,
|
||||
"PatientDoctorAppointmentResultList": patientDoctorAppointmentResultList,
|
||||
"PatientER_DoctorFreeSlots": patientErDoctorFreeSlots,
|
||||
"PatientER_GetAllClinics_List": patientErGetAllClinicsList,
|
||||
"PatientER_GetDoctorClincByServiceID_List": patientErGetDoctorClincByServiceIdList,
|
||||
"PatientER_GetServiceList": patientErGetServiceList,
|
||||
"PatientER_Logininsert": patientErLogininsert == null ? null : patientErLogininsert,
|
||||
"PatientER_PrescriptionLogin": patientErPrescriptionLogin,
|
||||
"PatientER_SelectAdmin": patientErSelectAdmin,
|
||||
"PatientER_SelectRole2": patientErSelectRole2,
|
||||
"PatientER_UpdateLiveCareStatus": patientErUpdateLiveCareStatus == null ? null : patientErUpdateLiveCareStatus,
|
||||
"PatientER_insert": patientErInsert == null ? null : patientErInsert,
|
||||
"PatientInformationList": patientInformationList,
|
||||
"PatientNumber": patientNumber == null ? null : patientNumber,
|
||||
"PaymentModes": paymentModes,
|
||||
"Physio_IsPatientHasApproval": physioIsPatientHasApproval == null ? null : physioIsPatientHasApproval,
|
||||
"PhysiotherapyError": physiotherapyError == null ? null : physiotherapyError,
|
||||
"ProcedureNeedeTime": procedureNeedeTime,
|
||||
"RiskScore": riskScore == null ? null : riskScore,
|
||||
"RowCount": rowCount == null ? null : rowCount,
|
||||
"SameClinicApptList": sameClinicApptList,
|
||||
"SearchDoctorsByTime_IsVoiceCommandList": searchDoctorsByTimeIsVoiceCommandList,
|
||||
"SlotDuration": slotDuration == null ? null : slotDuration,
|
||||
"StatusCode": statusCode == null ? null : statusCode,
|
||||
"Tamara_IntegrationLogsInsert_Response": tamaraIntegrationLogsInsertResponse == null ? null : tamaraIntegrationLogsInsertResponse,
|
||||
"Tamara_IntegrationLogsUpdate_Response": tamaraIntegrationLogsUpdateResponse == null ? null : tamaraIntegrationLogsUpdateResponse,
|
||||
"TransactionNo": transactionNo,
|
||||
"UserDentalPlanMessage": userDentalPlanMessage,
|
||||
"WaitingAppointmentNoPerDay": waitingAppointmentNoPerDay == null ? null : waitingAppointmentNoPerDay,
|
||||
"age": age == null ? null : age,
|
||||
"erpDoctorDetails": erpDoctorDetails,
|
||||
"returnValue": returnValue == null ? null : returnValue,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,139 @@
|
||||
class PostParamsModel {
|
||||
String? imei;
|
||||
String? tokenID;
|
||||
int? languageID;
|
||||
String? stamp;
|
||||
String? iPAdress;
|
||||
double? versionID;
|
||||
int? channel;
|
||||
String? sessionID;
|
||||
bool? isLoginForDoctorApp;
|
||||
bool? patientOutSA;
|
||||
String? vidaAuthTokenID;
|
||||
String? vidaRefreshTokenID;
|
||||
int? deviceTypeID;
|
||||
String? generalID;
|
||||
|
||||
//After Login
|
||||
int? doctorId;
|
||||
int? editedBy;
|
||||
int? projectId;
|
||||
int? clinicId;
|
||||
|
||||
PostParamsModel({
|
||||
this.imei,
|
||||
this.tokenID,
|
||||
this.languageID,
|
||||
this.stamp,
|
||||
this.iPAdress,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.sessionID,
|
||||
this.isLoginForDoctorApp,
|
||||
this.patientOutSA,
|
||||
this.vidaAuthTokenID,
|
||||
this.vidaRefreshTokenID,
|
||||
this.deviceTypeID,
|
||||
this.generalID,
|
||||
this.doctorId,
|
||||
this.editedBy,
|
||||
this.projectId,
|
||||
this.clinicId,
|
||||
});
|
||||
|
||||
PostParamsModel.fromJson(Map<String, dynamic> json) {
|
||||
imei = json['IMEI'];
|
||||
tokenID = json['TokenID'];
|
||||
languageID = json['LanguageID'];
|
||||
stamp = json['stamp'];
|
||||
iPAdress = json['IPAdress'];
|
||||
versionID = json['VersionID'];
|
||||
channel = json['Channel'];
|
||||
sessionID = json['SessionID'];
|
||||
isLoginForDoctorApp = json['IsLoginForDoctorApp'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
vidaAuthTokenID = json['VidaAuthTokenID'];
|
||||
vidaRefreshTokenID = json['VidaRefreshTokenID'];
|
||||
deviceTypeID = json['DeviceTypeID'];
|
||||
deviceTypeID = json['generalid'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['stamp'] = this.stamp;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['VersionID'] = this.versionID;
|
||||
data['Channel'] = this.channel;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['IsLoginForDoctorApp'] = this.isLoginForDoctorApp;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['VidaAuthTokenID'] = this.vidaAuthTokenID;
|
||||
data['VidaRefreshTokenID'] = this.vidaRefreshTokenID;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
data['generalid'] = this.generalID;
|
||||
return data;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJsonLogged() {
|
||||
Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['stamp'] = this.stamp;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['VersionID'] = this.versionID;
|
||||
data['Channel'] = this.channel;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['IsLoginForDoctorApp'] = this.isLoginForDoctorApp;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['VidaAuthTokenID'] = this.vidaAuthTokenID;
|
||||
data['VidaRefreshTokenID'] = this.vidaRefreshTokenID;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
data['generalid'] = this.generalID;
|
||||
data['DoctorID'] = this.doctorId;
|
||||
data['EditedBy'] = this.editedBy;
|
||||
data['ProjectID'] = this.projectId;
|
||||
data['ClinicID'] = this.clinicId;
|
||||
return data;
|
||||
}
|
||||
|
||||
// Map<String, dynamic> toJsonAfterLogin() {
|
||||
// Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
// data['VersionID'] = this.versionID;
|
||||
// data['Channel'] = this.channel;
|
||||
// data['LanguageID'] = this.languageID;
|
||||
// data['MobileType'] = this.mobileType;
|
||||
// data['LogInTokenID'] = this.logInTokenID;
|
||||
// data['TokenID'] = this.tokenID;
|
||||
// data['MobileNumber'] = this.mobileNumber;
|
||||
// data['UserName'] = this.userName;
|
||||
// data['P_EMAIL_ADDRESS'] = this.pEmailAddress;
|
||||
// data['P_SESSION_ID'] = this.pSessionId;
|
||||
// data['PayrollCodeStr'] = this.payrollCodeStr;
|
||||
// data['LegislationCodeStr'] = this.pLegislationCode;
|
||||
// data['P_SELECTED_EMPLOYEE_NUMBER'] = this.pSelectedEmployeeNumber;
|
||||
// data['P_USER_NAME'] = this.pUserName;
|
||||
// return data;
|
||||
// }
|
||||
//
|
||||
// set setLogInTokenID(String? token) => logInTokenID = token;
|
||||
//
|
||||
// set setTokenID(String? token) => tokenID = token;
|
||||
//
|
||||
// set setMobileNumer(String? v) => mobileNumber = v;
|
||||
//
|
||||
// set setUserName(String? v) => userName = v;
|
||||
//
|
||||
// set setPEmailAddress(String? v) => pEmailAddress = v;
|
||||
//
|
||||
// set setPSessionId(int? v) => pSessionId = v;
|
||||
//
|
||||
// set setPUserName(String? v) => pUserName = v;
|
||||
//
|
||||
// set setPSelectedEmployeeNumber(String? v) => pSelectedEmployeeNumber = v;
|
||||
//
|
||||
// set setPLegislationCode(String? v) => pLegislationCode = v;
|
||||
//
|
||||
// set setPayrollCodeStr(String? v) => payrollCodeStr = v;
|
||||
}
|
||||
@ -0,0 +1,195 @@
|
||||
class DoctorProfileListModel {
|
||||
DoctorProfileListModel({
|
||||
this.doctorId,
|
||||
this.doctorName,
|
||||
this.doctorNameN,
|
||||
this.clinicId,
|
||||
this.clinicDescription,
|
||||
this.clinicDescriptionN,
|
||||
this.licenseExpiry,
|
||||
this.employmentType,
|
||||
this.setupId,
|
||||
this.projectId,
|
||||
this.projectName,
|
||||
this.nationalityId,
|
||||
this.nationalityName,
|
||||
this.nationalityNameN,
|
||||
this.gender,
|
||||
this.genderDescription,
|
||||
this.genderDescriptionN,
|
||||
this.doctorTitle,
|
||||
this.projectNameN,
|
||||
this.isAllowWaitList,
|
||||
this.titleDescription,
|
||||
this.titleDescriptionN,
|
||||
this.isRegistered,
|
||||
this.isDoctorDummy,
|
||||
this.isActive,
|
||||
this.isDoctorAppointmentDisplayed,
|
||||
this.doctorClinicActive,
|
||||
this.isbookingAllowed,
|
||||
this.doctorCases,
|
||||
this.doctorPicture,
|
||||
this.doctorProfileInfo,
|
||||
this.specialty,
|
||||
this.actualDoctorRate,
|
||||
this.consultationFee,
|
||||
this.decimalDoctorRate,
|
||||
this.doctorImageUrl,
|
||||
this.doctorMobileNumber,
|
||||
this.doctorRate,
|
||||
this.doctorStarsRate,
|
||||
this.doctorTitleForProfile,
|
||||
this.isAppointmentAllowed,
|
||||
this.isDoctorHasPrePostImages,
|
||||
this.nationalityFlagUrl,
|
||||
this.noOfPatientsRate,
|
||||
this.qr,
|
||||
this.serviceId,
|
||||
});
|
||||
|
||||
final int? doctorId;
|
||||
final String? doctorName;
|
||||
final dynamic doctorNameN;
|
||||
final int? clinicId;
|
||||
final String? clinicDescription;
|
||||
final dynamic clinicDescriptionN;
|
||||
final dynamic licenseExpiry;
|
||||
final int? employmentType;
|
||||
final dynamic setupId;
|
||||
final int? projectId;
|
||||
final String? projectName;
|
||||
final String? nationalityId;
|
||||
final String? nationalityName;
|
||||
final dynamic nationalityNameN;
|
||||
final int? gender;
|
||||
final String? genderDescription;
|
||||
final dynamic genderDescriptionN;
|
||||
final dynamic doctorTitle;
|
||||
final dynamic projectNameN;
|
||||
final bool? isAllowWaitList;
|
||||
final String? titleDescription;
|
||||
final dynamic titleDescriptionN;
|
||||
final dynamic isRegistered;
|
||||
final dynamic isDoctorDummy;
|
||||
final bool? isActive;
|
||||
final dynamic isDoctorAppointmentDisplayed;
|
||||
final bool? doctorClinicActive;
|
||||
final dynamic isbookingAllowed;
|
||||
final String? doctorCases;
|
||||
final dynamic doctorPicture;
|
||||
final String? doctorProfileInfo;
|
||||
final List<String>? specialty;
|
||||
final int? actualDoctorRate;
|
||||
final String? consultationFee;
|
||||
final double? decimalDoctorRate;
|
||||
final String? doctorImageUrl;
|
||||
final String? doctorMobileNumber;
|
||||
final int? doctorRate;
|
||||
final int? doctorStarsRate;
|
||||
final String? doctorTitleForProfile;
|
||||
final bool? isAppointmentAllowed;
|
||||
final bool? isDoctorHasPrePostImages;
|
||||
final String? nationalityFlagUrl;
|
||||
final int? noOfPatientsRate;
|
||||
final String? qr;
|
||||
final int? serviceId;
|
||||
|
||||
factory DoctorProfileListModel.fromJson(Map<String, dynamic> json) => DoctorProfileListModel(
|
||||
doctorId: json["DoctorID"] == null ? null : json["DoctorID"],
|
||||
doctorName: json["DoctorName"] == null ? null : json["DoctorName"],
|
||||
doctorNameN: json["DoctorNameN"],
|
||||
clinicId: json["ClinicID"] == null ? null : json["ClinicID"],
|
||||
clinicDescription: json["ClinicDescription"] == null ? null : json["ClinicDescription"],
|
||||
clinicDescriptionN: json["ClinicDescriptionN"],
|
||||
licenseExpiry: json["LicenseExpiry"],
|
||||
employmentType: json["EmploymentType"] == null ? null : json["EmploymentType"],
|
||||
setupId: json["SetupID"],
|
||||
projectId: json["ProjectID"] == null ? null : json["ProjectID"],
|
||||
projectName: json["ProjectName"] == null ? null : json["ProjectName"],
|
||||
nationalityId: json["NationalityID"] == null ? null : json["NationalityID"],
|
||||
nationalityName: json["NationalityName"] == null ? null : json["NationalityName"],
|
||||
nationalityNameN: json["NationalityNameN"],
|
||||
gender: json["Gender"] == null ? null : json["Gender"],
|
||||
genderDescription: json["Gender_Description"] == null ? null : json["Gender_Description"],
|
||||
genderDescriptionN: json["Gender_DescriptionN"],
|
||||
doctorTitle: json["DoctorTitle"],
|
||||
projectNameN: json["ProjectNameN"],
|
||||
isAllowWaitList: json["IsAllowWaitList"] == null ? null : json["IsAllowWaitList"],
|
||||
titleDescription: json["Title_Description"] == null ? null : json["Title_Description"],
|
||||
titleDescriptionN: json["Title_DescriptionN"],
|
||||
isRegistered: json["IsRegistered"],
|
||||
isDoctorDummy: json["IsDoctorDummy"],
|
||||
isActive: json["IsActive"] == null ? null : json["IsActive"],
|
||||
isDoctorAppointmentDisplayed: json["IsDoctorAppointmentDisplayed"],
|
||||
doctorClinicActive: json["DoctorClinicActive"] == null ? null : json["DoctorClinicActive"],
|
||||
isbookingAllowed: json["IsbookingAllowed"],
|
||||
doctorCases: json["DoctorCases"] == null ? null : json["DoctorCases"],
|
||||
doctorPicture: json["DoctorPicture"],
|
||||
doctorProfileInfo: json["DoctorProfileInfo"] == null ? null : json["DoctorProfileInfo"],
|
||||
specialty: json["Specialty"] == null ? null : List<String>.from(json["Specialty"].map((x) => x)),
|
||||
actualDoctorRate: json["ActualDoctorRate"] == null ? null : json["ActualDoctorRate"],
|
||||
consultationFee: json["ConsultationFee"] == null ? null : json["ConsultationFee"],
|
||||
decimalDoctorRate: json["DecimalDoctorRate"] == null ? null : json["DecimalDoctorRate"].toDouble(),
|
||||
doctorImageUrl: json["DoctorImageURL"] == null ? null : json["DoctorImageURL"],
|
||||
doctorMobileNumber: json["DoctorMobileNumber"] == null ? null : json["DoctorMobileNumber"],
|
||||
doctorRate: json["DoctorRate"] == null ? null : json["DoctorRate"],
|
||||
doctorStarsRate: json["DoctorStarsRate"] == null ? null : json["DoctorStarsRate"],
|
||||
doctorTitleForProfile: json["DoctorTitleForProfile"] == null ? null : json["DoctorTitleForProfile"],
|
||||
isAppointmentAllowed: json["IsAppointmentAllowed"] == null ? null : json["IsAppointmentAllowed"],
|
||||
isDoctorHasPrePostImages: json["IsDoctorHasPrePostImages"] == null ? null : json["IsDoctorHasPrePostImages"],
|
||||
nationalityFlagUrl: json["NationalityFlagURL"] == null ? null : json["NationalityFlagURL"],
|
||||
noOfPatientsRate: json["NoOfPatientsRate"] == null ? null : json["NoOfPatientsRate"],
|
||||
qr: json["QR"] == null ? null : json["QR"],
|
||||
serviceId: json["ServiceID"] == null ? null : json["ServiceID"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"DoctorID": doctorId == null ? null : doctorId,
|
||||
"DoctorName": doctorName == null ? null : doctorName,
|
||||
"DoctorNameN": doctorNameN,
|
||||
"ClinicID": clinicId == null ? null : clinicId,
|
||||
"ClinicDescription": clinicDescription == null ? null : clinicDescription,
|
||||
"ClinicDescriptionN": clinicDescriptionN,
|
||||
"LicenseExpiry": licenseExpiry,
|
||||
"EmploymentType": employmentType == null ? null : employmentType,
|
||||
"SetupID": setupId,
|
||||
"ProjectID": projectId == null ? null : projectId,
|
||||
"ProjectName": projectName == null ? null : projectName,
|
||||
"NationalityID": nationalityId == null ? null : nationalityId,
|
||||
"NationalityName": nationalityName == null ? null : nationalityName,
|
||||
"NationalityNameN": nationalityNameN,
|
||||
"Gender": gender == null ? null : gender,
|
||||
"Gender_Description": genderDescription == null ? null : genderDescription,
|
||||
"Gender_DescriptionN": genderDescriptionN,
|
||||
"DoctorTitle": doctorTitle,
|
||||
"ProjectNameN": projectNameN,
|
||||
"IsAllowWaitList": isAllowWaitList == null ? null : isAllowWaitList,
|
||||
"Title_Description": titleDescription == null ? null : titleDescription,
|
||||
"Title_DescriptionN": titleDescriptionN,
|
||||
"IsRegistered": isRegistered,
|
||||
"IsDoctorDummy": isDoctorDummy,
|
||||
"IsActive": isActive == null ? null : isActive,
|
||||
"IsDoctorAppointmentDisplayed": isDoctorAppointmentDisplayed,
|
||||
"DoctorClinicActive": doctorClinicActive == null ? null : doctorClinicActive,
|
||||
"IsbookingAllowed": isbookingAllowed,
|
||||
"DoctorCases": doctorCases == null ? null : doctorCases,
|
||||
"DoctorPicture": doctorPicture,
|
||||
"DoctorProfileInfo": doctorProfileInfo == null ? null : doctorProfileInfo,
|
||||
"Specialty": specialty == null ? null : List<dynamic>.from(specialty!.map((x) => x)),
|
||||
"ActualDoctorRate": actualDoctorRate == null ? null : actualDoctorRate,
|
||||
"ConsultationFee": consultationFee == null ? null : consultationFee,
|
||||
"DecimalDoctorRate": decimalDoctorRate == null ? null : decimalDoctorRate,
|
||||
"DoctorImageURL": doctorImageUrl == null ? null : doctorImageUrl,
|
||||
"DoctorMobileNumber": doctorMobileNumber == null ? null : doctorMobileNumber,
|
||||
"DoctorRate": doctorRate == null ? null : doctorRate,
|
||||
"DoctorStarsRate": doctorStarsRate == null ? null : doctorStarsRate,
|
||||
"DoctorTitleForProfile": doctorTitleForProfile == null ? null : doctorTitleForProfile,
|
||||
"IsAppointmentAllowed": isAppointmentAllowed == null ? null : isAppointmentAllowed,
|
||||
"IsDoctorHasPrePostImages": isDoctorHasPrePostImages == null ? null : isDoctorHasPrePostImages,
|
||||
"NationalityFlagURL": nationalityFlagUrl == null ? null : nationalityFlagUrl,
|
||||
"NoOfPatientsRate": noOfPatientsRate == null ? null : noOfPatientsRate,
|
||||
"QR": qr == null ? null : qr,
|
||||
"ServiceID": serviceId == null ? null : serviceId,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,128 @@
|
||||
class GetIMEIDetailsModel {
|
||||
int? iD;
|
||||
String? iMEI;
|
||||
int? logInTypeID;
|
||||
bool? outSA;
|
||||
String? mobile;
|
||||
dynamic identificationNo;
|
||||
int? doctorID;
|
||||
String? doctorName;
|
||||
String? doctorNameN;
|
||||
int? clinicID;
|
||||
String? clinicDescription;
|
||||
dynamic clinicDescriptionN;
|
||||
int? projectID;
|
||||
String? projectName;
|
||||
String? genderDescription;
|
||||
dynamic genderDescriptionN;
|
||||
String? titleDescription;
|
||||
dynamic titleDescriptionN;
|
||||
dynamic zipCode;
|
||||
String? createdOn;
|
||||
dynamic createdBy;
|
||||
String? editedOn;
|
||||
dynamic editedBy;
|
||||
bool? biometricEnabled;
|
||||
dynamic preferredLanguage;
|
||||
bool? isActive;
|
||||
String? vidaAuthTokenID;
|
||||
String? vidaRefreshTokenID;
|
||||
String? password;
|
||||
|
||||
GetIMEIDetailsModel(
|
||||
{this.iD,
|
||||
this.iMEI,
|
||||
this.logInTypeID,
|
||||
this.outSA,
|
||||
this.mobile,
|
||||
this.identificationNo,
|
||||
this.doctorID,
|
||||
this.doctorName,
|
||||
this.doctorNameN,
|
||||
this.clinicID,
|
||||
this.clinicDescription,
|
||||
this.clinicDescriptionN,
|
||||
this.projectID,
|
||||
this.projectName,
|
||||
this.genderDescription,
|
||||
this.genderDescriptionN,
|
||||
this.titleDescription,
|
||||
this.titleDescriptionN,
|
||||
this.zipCode,
|
||||
this.createdOn,
|
||||
this.createdBy,
|
||||
this.editedOn,
|
||||
this.editedBy,
|
||||
this.biometricEnabled,
|
||||
this.preferredLanguage,
|
||||
this.isActive,
|
||||
this.vidaAuthTokenID,
|
||||
this.vidaRefreshTokenID,
|
||||
this.password});
|
||||
|
||||
GetIMEIDetailsModel.fromJson(Map<String, dynamic> json) {
|
||||
iD = json['ID'];
|
||||
iMEI = json['IMEI'];
|
||||
logInTypeID = json['LogInTypeID'];
|
||||
outSA = json['OutSA'];
|
||||
mobile = json['Mobile'];
|
||||
identificationNo = json['IdentificationNo'];
|
||||
doctorID = json['DoctorID'];
|
||||
doctorName = json['DoctorName'];
|
||||
doctorNameN = json['DoctorNameN'];
|
||||
clinicID = json['ClinicID'];
|
||||
clinicDescription = json['ClinicDescription'];
|
||||
clinicDescriptionN = json['ClinicDescriptionN'];
|
||||
projectID = json['ProjectID'];
|
||||
projectName = json['ProjectName'];
|
||||
genderDescription = json['Gender_Description'];
|
||||
genderDescriptionN = json['Gender_DescriptionN'];
|
||||
titleDescription = json['Title_Description'];
|
||||
titleDescriptionN = json['Title_DescriptionN'];
|
||||
zipCode = json['ZipCode'];
|
||||
createdOn = json['CreatedOn'];
|
||||
createdBy = json['CreatedBy'];
|
||||
editedOn = json['EditedOn'];
|
||||
editedBy = json['EditedBy'];
|
||||
biometricEnabled = json['BiometricEnabled'];
|
||||
preferredLanguage = json['PreferredLanguage'];
|
||||
isActive = json['IsActive'];
|
||||
vidaAuthTokenID = json['VidaAuthTokenID'];
|
||||
vidaRefreshTokenID = json['VidaRefreshTokenID'];
|
||||
password = json['Password'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['ID'] = this.iD;
|
||||
data['IMEI'] = this.iMEI;
|
||||
data['LogInTypeID'] = this.logInTypeID;
|
||||
data['OutSA'] = this.outSA;
|
||||
data['Mobile'] = this.mobile;
|
||||
data['IdentificationNo'] = this.identificationNo;
|
||||
data['DoctorID'] = this.doctorID;
|
||||
data['DoctorName'] = this.doctorName;
|
||||
data['DoctorNameN'] = this.doctorNameN;
|
||||
data['ClinicID'] = this.clinicID;
|
||||
data['ClinicDescription'] = this.clinicDescription;
|
||||
data['ClinicDescriptionN'] = this.clinicDescriptionN;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['ProjectName'] = this.projectName;
|
||||
data['Gender_Description'] = this.genderDescription;
|
||||
data['Gender_DescriptionN'] = this.genderDescriptionN;
|
||||
data['Title_Description'] = this.titleDescription;
|
||||
data['Title_DescriptionN'] = this.titleDescriptionN;
|
||||
data['ZipCode'] = this.zipCode;
|
||||
data['CreatedOn'] = this.createdOn;
|
||||
data['CreatedBy'] = this.createdBy;
|
||||
data['EditedOn'] = this.editedOn;
|
||||
data['EditedBy'] = this.editedBy;
|
||||
data['BiometricEnabled'] = this.biometricEnabled;
|
||||
data['PreferredLanguage'] = this.preferredLanguage;
|
||||
data['IsActive'] = this.isActive;
|
||||
data['VidaAuthTokenID'] = this.vidaAuthTokenID;
|
||||
data['VidaRefreshTokenID'] = this.vidaRefreshTokenID;
|
||||
data['Password'] = this.password;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
class ListDoctorsClinicModel {
|
||||
ListDoctorsClinicModel({
|
||||
this.setupId,
|
||||
this.projectId,
|
||||
this.doctorId,
|
||||
this.clinicId,
|
||||
this.isActive,
|
||||
this.clinicName,
|
||||
});
|
||||
|
||||
final dynamic setupId;
|
||||
final int? projectId;
|
||||
final int? doctorId;
|
||||
final int? clinicId;
|
||||
final bool? isActive;
|
||||
final String? clinicName;
|
||||
|
||||
factory ListDoctorsClinicModel.fromJson(Map<String, dynamic> json) => ListDoctorsClinicModel(
|
||||
setupId: json["SetupID"],
|
||||
projectId: json["ProjectID"] == null ? null : json["ProjectID"],
|
||||
doctorId: json["DoctorID"] == null ? null : json["DoctorID"],
|
||||
clinicId: json["ClinicID"] == null ? null : json["ClinicID"],
|
||||
isActive: json["IsActive"] == null ? null : json["IsActive"],
|
||||
clinicName: json["ClinicName"] == null ? null : json["ClinicName"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"SetupID": setupId,
|
||||
"ProjectID": projectId == null ? null : projectId,
|
||||
"DoctorID": doctorId == null ? null : doctorId,
|
||||
"ClinicID": clinicId == null ? null : clinicId,
|
||||
"IsActive": isActive == null ? null : isActive,
|
||||
"ClinicName": clinicName == null ? null : clinicName,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,92 @@
|
||||
class MemberInformation {
|
||||
MemberInformation({
|
||||
this.clinics,
|
||||
this.doctorId,
|
||||
this.email,
|
||||
this.employeeId,
|
||||
this.memberId,
|
||||
this.memberName,
|
||||
this.memberNameArabic,
|
||||
this.preferredLanguage,
|
||||
this.roles,
|
||||
});
|
||||
|
||||
final List<Clinic>? clinics;
|
||||
final int? doctorId;
|
||||
final String? email;
|
||||
final int? employeeId;
|
||||
final int? memberId;
|
||||
final dynamic memberName;
|
||||
final dynamic memberNameArabic;
|
||||
final String? preferredLanguage;
|
||||
final List<Role>? roles;
|
||||
|
||||
factory MemberInformation.fromJson(Map<String, dynamic> json) => MemberInformation(
|
||||
clinics: json["clinics"] == null ? null : List<Clinic>.from(json["clinics"].map((x) => Clinic.fromJson(x))),
|
||||
doctorId: json["doctorId"] == null ? null : json["doctorId"],
|
||||
email: json["email"] == null ? null : json["email"],
|
||||
employeeId: json["employeeId"] == null ? null : json["employeeId"],
|
||||
memberId: json["memberId"] == null ? null : json["memberId"],
|
||||
memberName: json["memberName"],
|
||||
memberNameArabic: json["memberNameArabic"],
|
||||
preferredLanguage: json["preferredLanguage"] == null ? null : json["preferredLanguage"],
|
||||
roles: json["roles"] == null ? null : List<Role>.from(json["roles"].map((x) => Role.fromJson(x))),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"clinics": clinics == null ? null : List<dynamic>.from(clinics!.map((x) => x.toJson())),
|
||||
"doctorId": doctorId == null ? null : doctorId,
|
||||
"email": email == null ? null : email,
|
||||
"employeeId": employeeId == null ? null : employeeId,
|
||||
"memberId": memberId == null ? null : memberId,
|
||||
"memberName": memberName,
|
||||
"memberNameArabic": memberNameArabic,
|
||||
"preferredLanguage": preferredLanguage == null ? null : preferredLanguage,
|
||||
"roles": roles == null ? null : List<dynamic>.from(roles!.map((x) => x.toJson())),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
class Clinic {
|
||||
Clinic({
|
||||
this.defaultClinic,
|
||||
this.id,
|
||||
this.name,
|
||||
});
|
||||
|
||||
final bool? defaultClinic;
|
||||
final int? id;
|
||||
final String? name;
|
||||
|
||||
factory Clinic.fromJson(Map<String, dynamic> json) => Clinic(
|
||||
defaultClinic: json["defaultClinic"] == null ? null : json["defaultClinic"],
|
||||
id: json["id"] == null ? null : json["id"],
|
||||
name: json["name"] == null ? null : json["name"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"defaultClinic": defaultClinic == null ? null : defaultClinic,
|
||||
"id": id == null ? null : id,
|
||||
"name": name == null ? null : name,
|
||||
};
|
||||
}
|
||||
|
||||
class Role {
|
||||
Role({
|
||||
this.name,
|
||||
this.roleId,
|
||||
});
|
||||
|
||||
final String? name;
|
||||
final int? roleId;
|
||||
|
||||
factory Role.fromJson(Map<String, dynamic> json) => Role(
|
||||
name: json["name"] == null ? null : json["name"],
|
||||
roleId: json["roleId"] == null ? null : json["roleId"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"name": name == null ? null : name,
|
||||
"roleId": roleId == null ? null : roleId,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,259 @@
|
||||
// To parse this JSON data, do
|
||||
//
|
||||
// final memberLoginModel = memberLoginModelFromJson(jsonString);
|
||||
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:hmg_nurses/classes/consts.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
MemberLoginModel memberLoginModelFromJson(String str) => MemberLoginModel.fromJson(json.decode(str));
|
||||
|
||||
String memberLoginModelToJson(MemberLoginModel data) => json.encode(data.toJson());
|
||||
|
||||
class MemberLoginModel {
|
||||
MemberLoginModel({
|
||||
this.date,
|
||||
this.languageId,
|
||||
this.serviceName,
|
||||
this.time,
|
||||
this.androidLink,
|
||||
this.authenticationTokenId,
|
||||
this.data,
|
||||
this.dataw,
|
||||
this.dietType,
|
||||
this.dietTypeId,
|
||||
this.errorCode,
|
||||
this.errorEndUserMessage,
|
||||
this.errorEndUserMessageN,
|
||||
this.errorMessage,
|
||||
this.errorType,
|
||||
this.foodCategory,
|
||||
this.iosLink,
|
||||
this.isAuthenticated,
|
||||
this.mealOrderStatus,
|
||||
this.mealType,
|
||||
this.messageStatus,
|
||||
this.numberOfResultRecords,
|
||||
this.patientBlodType,
|
||||
this.successMsg,
|
||||
this.successMsgN,
|
||||
this.vidaUpdatedResponse,
|
||||
this.doctorHaveOneClinic,
|
||||
this.doctorId,
|
||||
this.erpSessionId,
|
||||
this.listConsentMember,
|
||||
this.listConsentMemberNew,
|
||||
this.listDoctorProfile,
|
||||
this.listDoctorsClinic,
|
||||
this.listMemberInformation,
|
||||
this.listModelDbConnect,
|
||||
this.logInTokenId,
|
||||
this.mobileNumber,
|
||||
this.selectDeviceImeIbyImeiList,
|
||||
this.userId,
|
||||
this.zipCode,
|
||||
this.isActiveCode,
|
||||
this.isSmsSent,
|
||||
});
|
||||
|
||||
final dynamic date;
|
||||
final int? languageId;
|
||||
final int? serviceName;
|
||||
final dynamic time;
|
||||
final dynamic androidLink;
|
||||
final dynamic authenticationTokenId;
|
||||
final dynamic data;
|
||||
final bool? dataw;
|
||||
final int? dietType;
|
||||
final int? dietTypeId;
|
||||
final dynamic errorCode;
|
||||
final dynamic errorEndUserMessage;
|
||||
final dynamic errorEndUserMessageN;
|
||||
final dynamic errorMessage;
|
||||
final int? errorType;
|
||||
final int? foodCategory;
|
||||
final dynamic iosLink;
|
||||
final bool? isAuthenticated;
|
||||
final int? mealOrderStatus;
|
||||
final int? mealType;
|
||||
final int? messageStatus;
|
||||
final int? numberOfResultRecords;
|
||||
final dynamic patientBlodType;
|
||||
final dynamic successMsg;
|
||||
final dynamic successMsgN;
|
||||
final dynamic vidaUpdatedResponse;
|
||||
final bool? doctorHaveOneClinic;
|
||||
final int? doctorId;
|
||||
final dynamic erpSessionId;
|
||||
final dynamic listConsentMember;
|
||||
final dynamic listConsentMemberNew;
|
||||
final dynamic listDoctorProfile;
|
||||
final dynamic listDoctorsClinic;
|
||||
final List<ListMemberInformation>? listMemberInformation;
|
||||
final dynamic listModelDbConnect;
|
||||
final String? logInTokenId;
|
||||
final String? mobileNumber;
|
||||
final dynamic selectDeviceImeIbyImeiList;
|
||||
final int? userId;
|
||||
final String? zipCode;
|
||||
final bool? isActiveCode;
|
||||
final bool? isSmsSent;
|
||||
|
||||
factory MemberLoginModel.fromJson(Map<String, dynamic> json) => MemberLoginModel(
|
||||
date: json["Date"],
|
||||
languageId: json["LanguageID"] == null ? null : json["LanguageID"],
|
||||
serviceName: json["ServiceName"] == null ? null : json["ServiceName"],
|
||||
time: json["Time"],
|
||||
androidLink: json["AndroidLink"],
|
||||
authenticationTokenId: json["AuthenticationTokenID"],
|
||||
data: json["Data"],
|
||||
dataw: json["Dataw"] == null ? null : json["Dataw"],
|
||||
dietType: json["DietType"] == null ? null : json["DietType"],
|
||||
dietTypeId: json["DietTypeID"] == null ? null : json["DietTypeID"],
|
||||
errorCode: json["ErrorCode"],
|
||||
errorEndUserMessage: json["ErrorEndUserMessage"],
|
||||
errorEndUserMessageN: json["ErrorEndUserMessageN"],
|
||||
errorMessage: json["ErrorMessage"],
|
||||
errorType: json["ErrorType"] == null ? null : json["ErrorType"],
|
||||
foodCategory: json["FoodCategory"] == null ? null : json["FoodCategory"],
|
||||
iosLink: json["IOSLink"],
|
||||
isAuthenticated: json["IsAuthenticated"] == null ? null : json["IsAuthenticated"],
|
||||
mealOrderStatus: json["MealOrderStatus"] == null ? null : json["MealOrderStatus"],
|
||||
mealType: json["MealType"] == null ? null : json["MealType"],
|
||||
messageStatus: json["MessageStatus"] == null ? null : json["MessageStatus"],
|
||||
numberOfResultRecords: json["NumberOfResultRecords"] == null ? null : json["NumberOfResultRecords"],
|
||||
patientBlodType: json["PatientBlodType"],
|
||||
successMsg: json["SuccessMsg"],
|
||||
successMsgN: json["SuccessMsgN"],
|
||||
vidaUpdatedResponse: json["VidaUpdatedResponse"],
|
||||
doctorHaveOneClinic: json["DoctorHaveOneClinic"] == null ? null : json["DoctorHaveOneClinic"],
|
||||
doctorId: json["DoctorID"] == null ? null : json["DoctorID"],
|
||||
erpSessionId: json["ERP_SessionID"],
|
||||
listConsentMember: json["List_Consent_Member"],
|
||||
listConsentMemberNew: json["List_Consent_MemberNew"],
|
||||
listDoctorProfile: json["List_DoctorProfile"],
|
||||
listDoctorsClinic: json["List_DoctorsClinic"],
|
||||
listMemberInformation: json["List_MemberInformation"] == null ? null : List<ListMemberInformation>.from(json["List_MemberInformation"].map((x) => ListMemberInformation.fromJson(x))),
|
||||
listModelDbConnect: json["List_Model_DB_Connect"],
|
||||
logInTokenId: json["LogInTokenID"] == null ? null : json["LogInTokenID"],
|
||||
mobileNumber: json["MobileNumber"] == null ? null : json["MobileNumber"],
|
||||
selectDeviceImeIbyImeiList: json["SELECTDeviceIMEIbyIMEI_List"],
|
||||
userId: json["UserID"] == null ? null : json["UserID"],
|
||||
zipCode: json["ZipCode"] == null ? null : json["ZipCode"],
|
||||
isActiveCode: json["isActiveCode"] == null ? null : json["isActiveCode"],
|
||||
isSmsSent: json["isSMSSent"] == null ? null : json["isSMSSent"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"Date": date,
|
||||
"LanguageID": languageId == null ? null : languageId,
|
||||
"ServiceName": serviceName == null ? null : serviceName,
|
||||
"Time": time,
|
||||
"AndroidLink": androidLink,
|
||||
"AuthenticationTokenID": authenticationTokenId,
|
||||
"Data": data,
|
||||
"Dataw": dataw == null ? null : dataw,
|
||||
"DietType": dietType == null ? null : dietType,
|
||||
"DietTypeID": dietTypeId == null ? null : dietTypeId,
|
||||
"ErrorCode": errorCode,
|
||||
"ErrorEndUserMessage": errorEndUserMessage,
|
||||
"ErrorEndUserMessageN": errorEndUserMessageN,
|
||||
"ErrorMessage": errorMessage,
|
||||
"ErrorType": errorType == null ? null : errorType,
|
||||
"FoodCategory": foodCategory == null ? null : foodCategory,
|
||||
"IOSLink": iosLink,
|
||||
"IsAuthenticated": isAuthenticated == null ? null : isAuthenticated,
|
||||
"MealOrderStatus": mealOrderStatus == null ? null : mealOrderStatus,
|
||||
"MealType": mealType == null ? null : mealType,
|
||||
"MessageStatus": messageStatus == null ? null : messageStatus,
|
||||
"NumberOfResultRecords": numberOfResultRecords == null ? null : numberOfResultRecords,
|
||||
"PatientBlodType": patientBlodType,
|
||||
"SuccessMsg": successMsg,
|
||||
"SuccessMsgN": successMsgN,
|
||||
"VidaUpdatedResponse": vidaUpdatedResponse,
|
||||
"DoctorHaveOneClinic": doctorHaveOneClinic == null ? null : doctorHaveOneClinic,
|
||||
"DoctorID": doctorId == null ? null : doctorId,
|
||||
"ERP_SessionID": erpSessionId,
|
||||
"List_Consent_Member": listConsentMember,
|
||||
"List_Consent_MemberNew": listConsentMemberNew,
|
||||
"List_DoctorProfile": listDoctorProfile,
|
||||
"List_DoctorsClinic": listDoctorsClinic,
|
||||
"List_MemberInformation": listMemberInformation == null ? null : List<dynamic>.from(listMemberInformation!.map((x) => x.toJson())),
|
||||
"List_Model_DB_Connect": listModelDbConnect,
|
||||
"LogInTokenID": logInTokenId == null ? null : logInTokenId,
|
||||
"MobileNumber": mobileNumber == null ? null : mobileNumber,
|
||||
"SELECTDeviceIMEIbyIMEI_List": selectDeviceImeIbyImeiList,
|
||||
"UserID": userId == null ? null : userId,
|
||||
"ZipCode": zipCode == null ? null : zipCode,
|
||||
"isActiveCode": isActiveCode == null ? null : isActiveCode,
|
||||
"isSMSSent": isSmsSent == null ? null : isSmsSent,
|
||||
};
|
||||
|
||||
static Future<MemberLoginModel> getFromPrefs() async {
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
String decodedJson = prefs.getString(SharedPrefsConsts.memberModel) ?? "";
|
||||
return MemberLoginModel.fromJson(jsonDecode(decodedJson));
|
||||
}
|
||||
|
||||
static void saveToPrefs(String json) async {
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
await prefs.setString(SharedPrefsConsts.memberModel, json);
|
||||
}
|
||||
}
|
||||
|
||||
class ListMemberInformation {
|
||||
ListMemberInformation({
|
||||
this.setupId,
|
||||
this.memberId,
|
||||
this.memberName,
|
||||
this.memberNameN,
|
||||
this.preferredLang,
|
||||
this.pin,
|
||||
this.saltHash,
|
||||
this.referenceId,
|
||||
this.employeeId,
|
||||
this.roleId,
|
||||
this.projectid,
|
||||
});
|
||||
|
||||
final dynamic setupId;
|
||||
final int? memberId;
|
||||
final String? memberName;
|
||||
final dynamic memberNameN;
|
||||
final String? preferredLang;
|
||||
final dynamic pin;
|
||||
final dynamic saltHash;
|
||||
final int? referenceId;
|
||||
final int? employeeId;
|
||||
final int? roleId;
|
||||
final int? projectid;
|
||||
|
||||
factory ListMemberInformation.fromJson(Map<String, dynamic> json) => ListMemberInformation(
|
||||
setupId: json["SetupID"],
|
||||
memberId: json["MemberID"] == null ? null : json["MemberID"],
|
||||
memberName: json["MemberName"] == null ? null : json["MemberName"],
|
||||
memberNameN: json["MemberNameN"],
|
||||
preferredLang: json["PreferredLang"] == null ? null : json["PreferredLang"],
|
||||
pin: json["PIN"],
|
||||
saltHash: json["SaltHash"],
|
||||
referenceId: json["ReferenceID"] == null ? null : json["ReferenceID"],
|
||||
employeeId: json["EmployeeID"] == null ? null : json["EmployeeID"],
|
||||
roleId: json["RoleID"] == null ? null : json["RoleID"],
|
||||
projectid: json["projectid"] == null ? null : json["projectid"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"SetupID": setupId,
|
||||
"MemberID": memberId == null ? null : memberId,
|
||||
"MemberName": memberName == null ? null : memberName,
|
||||
"MemberNameN": memberNameN,
|
||||
"PreferredLang": preferredLang == null ? null : preferredLang,
|
||||
"PIN": pin,
|
||||
"SaltHash": saltHash,
|
||||
"ReferenceID": referenceId == null ? null : referenceId,
|
||||
"EmployeeID": employeeId == null ? null : employeeId,
|
||||
"RoleID": roleId == null ? null : roleId,
|
||||
"projectid": projectid == null ? null : projectid,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
class ProjectInfoModel {
|
||||
ProjectInfoModel({
|
||||
this.facilityGroupId,
|
||||
this.facilityId,
|
||||
this.facilityName,
|
||||
});
|
||||
|
||||
final String? facilityGroupId;
|
||||
final int? facilityId;
|
||||
final String? facilityName;
|
||||
|
||||
factory ProjectInfoModel.fromJson(Map<String, dynamic> json) => ProjectInfoModel(
|
||||
facilityGroupId: json["facilityGroupId"] == null ? null : json["facilityGroupId"],
|
||||
facilityId: json["facilityId"] == null ? null : json["facilityId"],
|
||||
facilityName: json["facilityName"] == null ? null : json["facilityName"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"facilityGroupId": facilityGroupId == null ? null : facilityGroupId,
|
||||
"facilityId": facilityId == null ? null : facilityId,
|
||||
"facilityName": facilityName == null ? null : facilityName,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,191 @@
|
||||
class ListDoctorPatientVitalSign {
|
||||
ListDoctorPatientVitalSign({
|
||||
this.transNo,
|
||||
this.projectId,
|
||||
this.weightKg,
|
||||
this.heightCm,
|
||||
this.temperatureCelcius,
|
||||
this.pulseBeatPerMinute,
|
||||
this.respirationBeatPerMinute,
|
||||
this.bloodPressureLower,
|
||||
this.bloodPressureHigher,
|
||||
this.sao2,
|
||||
this.fio2,
|
||||
this.painScore,
|
||||
this.bodyMassIndex,
|
||||
this.headCircumCm,
|
||||
this.leanBodyWeightLbs,
|
||||
this.idealBodyWeightLbs,
|
||||
this.temperatureCelciusMethod,
|
||||
this.pulseRhythm,
|
||||
this.respirationPattern,
|
||||
this.bloodPressureCuffLocation,
|
||||
this.bloodPressureCuffSize,
|
||||
this.bloodPressurePatientPosition,
|
||||
this.painLocation,
|
||||
this.painDuration,
|
||||
this.painCharacter,
|
||||
this.painFrequency,
|
||||
this.isPainManagementDone,
|
||||
this.status,
|
||||
this.isVitalsRequired,
|
||||
this.patientId,
|
||||
this.createdOn,
|
||||
this.doctorId,
|
||||
this.clinicId,
|
||||
this.triageCategory,
|
||||
this.gcScore,
|
||||
this.lineItemNo,
|
||||
this.vitalSignDate,
|
||||
this.actualTimeTaken,
|
||||
this.sugarLevel,
|
||||
this.fbs,
|
||||
this.rbs,
|
||||
this.observationType,
|
||||
this.heartRate,
|
||||
this.muscleTone,
|
||||
this.reflexIrritability,
|
||||
this.bodyColor,
|
||||
this.isFirstAssessment,
|
||||
this.dateofBirth,
|
||||
this.timeOfBirth,
|
||||
this.bloodPressure,
|
||||
this.bloodPressureCuffLocationDesc,
|
||||
this.bloodPressureCuffSizeDesc,
|
||||
this.bloodPressurePatientPositionDesc,
|
||||
this.clinicName,
|
||||
this.doctorImageUrl,
|
||||
this.doctorName,
|
||||
this.painScoreDesc,
|
||||
this.pulseRhythmDesc,
|
||||
this.respirationPatternDesc,
|
||||
this.temperatureCelciusMethodDesc,
|
||||
this.time,
|
||||
});
|
||||
|
||||
final int? transNo;
|
||||
final dynamic projectId;
|
||||
final double? weightKg;
|
||||
final double? heightCm;
|
||||
final double? temperatureCelcius;
|
||||
final int? pulseBeatPerMinute;
|
||||
final int? respirationBeatPerMinute;
|
||||
final int? bloodPressureLower;
|
||||
final int? bloodPressureHigher;
|
||||
final int? sao2;
|
||||
final int? fio2;
|
||||
final dynamic painScore;
|
||||
final double? bodyMassIndex;
|
||||
final int? headCircumCm;
|
||||
final int? leanBodyWeightLbs;
|
||||
final int? idealBodyWeightLbs;
|
||||
final int? temperatureCelciusMethod;
|
||||
final int? pulseRhythm;
|
||||
final int? respirationPattern;
|
||||
final dynamic bloodPressureCuffLocation;
|
||||
final dynamic bloodPressureCuffSize;
|
||||
final dynamic bloodPressurePatientPosition;
|
||||
final String? painLocation;
|
||||
final String? painDuration;
|
||||
final String? painCharacter;
|
||||
final String? painFrequency;
|
||||
final bool? isPainManagementDone;
|
||||
final int? status;
|
||||
final bool? isVitalsRequired;
|
||||
final int? patientId;
|
||||
final String? createdOn;
|
||||
final int? doctorId;
|
||||
final int? clinicId;
|
||||
final dynamic triageCategory;
|
||||
final dynamic gcScore;
|
||||
final dynamic lineItemNo;
|
||||
final dynamic vitalSignDate;
|
||||
final dynamic actualTimeTaken;
|
||||
final dynamic sugarLevel;
|
||||
final dynamic fbs;
|
||||
final dynamic rbs;
|
||||
final dynamic observationType;
|
||||
final dynamic heartRate;
|
||||
final dynamic muscleTone;
|
||||
final dynamic reflexIrritability;
|
||||
final dynamic bodyColor;
|
||||
final dynamic isFirstAssessment;
|
||||
final dynamic dateofBirth;
|
||||
final dynamic timeOfBirth;
|
||||
final String? bloodPressure;
|
||||
final String? bloodPressureCuffLocationDesc;
|
||||
final String? bloodPressureCuffSizeDesc;
|
||||
final String? bloodPressurePatientPositionDesc;
|
||||
final String? clinicName;
|
||||
final String? doctorImageUrl;
|
||||
final String? doctorName;
|
||||
final String? painScoreDesc;
|
||||
final String? pulseRhythmDesc;
|
||||
final String? respirationPatternDesc;
|
||||
final String? temperatureCelciusMethodDesc;
|
||||
final dynamic time;
|
||||
|
||||
factory ListDoctorPatientVitalSign.fromJson(Map<String, dynamic> json) => ListDoctorPatientVitalSign(
|
||||
transNo: json["TransNo"] == null ? null : json["TransNo"],
|
||||
projectId: json["ProjectID"],
|
||||
weightKg: json["WeightKg"] == null ? null : json["WeightKg"].toDouble(),
|
||||
heightCm: json["HeightCm"] == null ? null : json["HeightCm"].toDouble(),
|
||||
temperatureCelcius: json["TemperatureCelcius"] == null ? null : json["TemperatureCelcius"].toDouble(),
|
||||
pulseBeatPerMinute: json["PulseBeatPerMinute"] == null ? null : json["PulseBeatPerMinute"],
|
||||
respirationBeatPerMinute: json["RespirationBeatPerMinute"] == null ? null : json["RespirationBeatPerMinute"],
|
||||
bloodPressureLower: json["BloodPressureLower"] == null ? null : json["BloodPressureLower"],
|
||||
bloodPressureHigher: json["BloodPressureHigher"] == null ? null : json["BloodPressureHigher"],
|
||||
sao2: json["SAO2"] == null ? null : json["SAO2"],
|
||||
fio2: json["FIO2"] == null ? null : json["FIO2"],
|
||||
painScore: json["PainScore"],
|
||||
bodyMassIndex: json["BodyMassIndex"] == null ? null : json["BodyMassIndex"].toDouble(),
|
||||
headCircumCm: json["HeadCircumCm"] == null ? null : json["HeadCircumCm"],
|
||||
leanBodyWeightLbs: json["LeanBodyWeightLbs"] == null ? null : json["LeanBodyWeightLbs"],
|
||||
idealBodyWeightLbs: json["IdealBodyWeightLbs"] == null ? null : json["IdealBodyWeightLbs"],
|
||||
temperatureCelciusMethod: json["TemperatureCelciusMethod"] == null ? null : json["TemperatureCelciusMethod"],
|
||||
pulseRhythm: json["PulseRhythm"] == null ? null : json["PulseRhythm"],
|
||||
respirationPattern: json["RespirationPattern"] == null ? null : json["RespirationPattern"],
|
||||
bloodPressureCuffLocation: json["BloodPressureCuffLocation"],
|
||||
bloodPressureCuffSize: json["BloodPressureCuffSize"],
|
||||
bloodPressurePatientPosition: json["BloodPressurePatientPosition"],
|
||||
painLocation: json["PainLocation"] == null ? null : json["PainLocation"],
|
||||
painDuration: json["PainDuration"] == null ? null : json["PainDuration"],
|
||||
painCharacter: json["PainCharacter"] == null ? null : json["PainCharacter"],
|
||||
painFrequency: json["PainFrequency"] == null ? null : json["PainFrequency"],
|
||||
isPainManagementDone: json["IsPainManagementDone"] == null ? null : json["IsPainManagementDone"],
|
||||
status: json["Status"] == null ? null : json["Status"],
|
||||
isVitalsRequired: json["IsVitalsRequired"] == null ? null : json["IsVitalsRequired"],
|
||||
patientId: json["PatientID"] == null ? null : json["PatientID"],
|
||||
createdOn: json["CreatedOn"] == null ? null : json["CreatedOn"],
|
||||
doctorId: json["DoctorID"] == null ? null : json["DoctorID"],
|
||||
clinicId: json["ClinicID"] == null ? null : json["ClinicID"],
|
||||
triageCategory: json["TriageCategory"],
|
||||
gcScore: json["GCScore"],
|
||||
lineItemNo: json["LineItemNo"],
|
||||
vitalSignDate: json["VitalSignDate"],
|
||||
actualTimeTaken: json["ActualTimeTaken"],
|
||||
sugarLevel: json["SugarLevel"],
|
||||
fbs: json["FBS"],
|
||||
rbs: json["RBS"],
|
||||
observationType: json["ObservationType"],
|
||||
heartRate: json["HeartRate"],
|
||||
muscleTone: json["MuscleTone"],
|
||||
reflexIrritability: json["ReflexIrritability"],
|
||||
bodyColor: json["BodyColor"],
|
||||
isFirstAssessment: json["IsFirstAssessment"],
|
||||
dateofBirth: json["DateofBirth"],
|
||||
timeOfBirth: json["TimeOfBirth"],
|
||||
bloodPressure: json["BloodPressure"] == null ? null : json["BloodPressure"],
|
||||
bloodPressureCuffLocationDesc: json["BloodPressureCuffLocationDesc"] == null ? null : json["BloodPressureCuffLocationDesc"],
|
||||
bloodPressureCuffSizeDesc: json["BloodPressureCuffSizeDesc"] == null ? null : json["BloodPressureCuffSizeDesc"],
|
||||
bloodPressurePatientPositionDesc: json["BloodPressurePatientPositionDesc"] == null ? null : json["BloodPressurePatientPositionDesc"],
|
||||
clinicName: json["ClinicName"] == null ? null : json["ClinicName"],
|
||||
doctorImageUrl: json["DoctorImageURL"] == null ? null : json["DoctorImageURL"],
|
||||
doctorName: json["DoctorName"] == null ? null : json["DoctorName"],
|
||||
painScoreDesc: json["PainScoreDesc"] == null ? null : json["PainScoreDesc"],
|
||||
pulseRhythmDesc: json["PulseRhythmDesc"] == null ? null : json["PulseRhythmDesc"],
|
||||
respirationPatternDesc: json["RespirationPatternDesc"] == null ? null : json["RespirationPatternDesc"],
|
||||
temperatureCelciusMethodDesc: json["TemperatureCelciusMethodDesc"] == null ? null : json["TemperatureCelciusMethodDesc"],
|
||||
time: json["Time"],
|
||||
);
|
||||
}
|
||||
@ -0,0 +1,242 @@
|
||||
class GetPatientFileInformationPrmList {
|
||||
GetPatientFileInformationPrmList({
|
||||
this.patientId,
|
||||
this.setupId,
|
||||
this.patientType,
|
||||
this.firstName,
|
||||
this.middleName,
|
||||
this.lastName,
|
||||
this.firstNameN,
|
||||
this.middleNameN,
|
||||
this.lastNameN,
|
||||
this.gender,
|
||||
this.dateofBirth,
|
||||
this.dateofBirthN,
|
||||
this.nationalityId,
|
||||
this.phoneResi,
|
||||
this.phoneOffice,
|
||||
this.mobileNumber,
|
||||
this.faxNumber,
|
||||
this.emailAddress,
|
||||
this.isEmailAlertRequired,
|
||||
this.isSmsAlertRequired,
|
||||
this.preferredLanguage,
|
||||
this.emergencyContactName,
|
||||
this.emergencyContactNo,
|
||||
this.patientIdentificationType,
|
||||
this.patientIdentificationNo,
|
||||
this.projectId,
|
||||
this.receiveHealthSummaryReport,
|
||||
this.noShowCount,
|
||||
this.isPatientHasMobileDeviceToken,
|
||||
this.editedBy,
|
||||
this.isIvrStopped,
|
||||
this.crsClientIdentifierId,
|
||||
this.crsVerificationStatus,
|
||||
this.crsVerifiedBy,
|
||||
this.crsVerificationStatusDesc,
|
||||
this.crsVerificationStatusDescN,
|
||||
this.numberPosition,
|
||||
this.status,
|
||||
this.isPrivilegedMember,
|
||||
this.address,
|
||||
this.age,
|
||||
this.emaiLAddress,
|
||||
this.genderDescription,
|
||||
this.genderImage,
|
||||
this.isPatientDataVerified,
|
||||
this.isPatientPrivilegedMember,
|
||||
this.nationalityDescription,
|
||||
this.nationalityFlagUrl,
|
||||
this.poBox,
|
||||
this.patientDataVerified,
|
||||
this.patientName,
|
||||
this.patientTypeDescription,
|
||||
this.patientTypeDescriptionN,
|
||||
this.statusDscription,
|
||||
this.tempAddress,
|
||||
this.upcomingAppointmentsNumber,
|
||||
this.zipCode,
|
||||
this.patientStatusType,
|
||||
});
|
||||
|
||||
final int? patientId;
|
||||
final String? setupId;
|
||||
final int? patientType;
|
||||
final String? firstName;
|
||||
final String? middleName;
|
||||
final String? lastName;
|
||||
final String? firstNameN;
|
||||
final String? middleNameN;
|
||||
final String? lastNameN;
|
||||
final int? gender;
|
||||
final String? dateofBirth;
|
||||
final String? dateofBirthN;
|
||||
final String? nationalityId;
|
||||
final String? phoneResi;
|
||||
final String? phoneOffice;
|
||||
final String? mobileNumber;
|
||||
final String? faxNumber;
|
||||
final String? emailAddress;
|
||||
final bool? isEmailAlertRequired;
|
||||
final bool? isSmsAlertRequired;
|
||||
final String? preferredLanguage;
|
||||
final String? emergencyContactName;
|
||||
final String? emergencyContactNo;
|
||||
final int? patientIdentificationType;
|
||||
final String? patientIdentificationNo;
|
||||
final int? projectId;
|
||||
final bool? receiveHealthSummaryReport;
|
||||
final int? noShowCount;
|
||||
final bool? isPatientHasMobileDeviceToken;
|
||||
final int? editedBy;
|
||||
final dynamic isIvrStopped;
|
||||
final dynamic crsClientIdentifierId;
|
||||
final dynamic crsVerificationStatus;
|
||||
final dynamic crsVerifiedBy;
|
||||
final dynamic crsVerificationStatusDesc;
|
||||
final dynamic crsVerificationStatusDescN;
|
||||
final int? numberPosition;
|
||||
final int? status;
|
||||
final dynamic isPrivilegedMember;
|
||||
final dynamic address;
|
||||
final int? age;
|
||||
final String? emaiLAddress;
|
||||
final String? genderDescription;
|
||||
final String? genderImage;
|
||||
final bool? isPatientDataVerified;
|
||||
final bool? isPatientPrivilegedMember;
|
||||
final String? nationalityDescription;
|
||||
final String? nationalityFlagUrl;
|
||||
final dynamic poBox;
|
||||
final int? patientDataVerified;
|
||||
final String? patientName;
|
||||
final String? patientTypeDescription;
|
||||
final dynamic patientTypeDescriptionN;
|
||||
final String? statusDscription;
|
||||
final dynamic tempAddress;
|
||||
final int? upcomingAppointmentsNumber;
|
||||
final String? zipCode;
|
||||
final int? patientStatusType;
|
||||
|
||||
factory GetPatientFileInformationPrmList.fromJson(Map<String, dynamic> json) => GetPatientFileInformationPrmList(
|
||||
patientId: json["PatientID"] == null ? null : json["PatientID"],
|
||||
setupId: json["SetupID"] == null ? null : json["SetupID"],
|
||||
patientType: json["PatientType"] == null ? null : json["PatientType"],
|
||||
firstName: json["FirstName"] == null ? null : json["FirstName"],
|
||||
middleName: json["MiddleName"] == null ? null : json["MiddleName"],
|
||||
lastName: json["LastName"] == null ? null : json["LastName"],
|
||||
firstNameN: json["FirstNameN"] == null ? null : json["FirstNameN"],
|
||||
middleNameN: json["MiddleNameN"] == null ? null : json["MiddleNameN"],
|
||||
lastNameN: json["LastNameN"] == null ? null : json["LastNameN"],
|
||||
gender: json["Gender"] == null ? null : json["Gender"],
|
||||
dateofBirth: json["DateofBirth"] == null ? null : json["DateofBirth"],
|
||||
dateofBirthN: json["DateofBirthN"] == null ? null : json["DateofBirthN"],
|
||||
nationalityId: json["NationalityID"] == null ? null : json["NationalityID"],
|
||||
phoneResi: json["PhoneResi"] == null ? null : json["PhoneResi"],
|
||||
phoneOffice: json["PhoneOffice"] == null ? null : json["PhoneOffice"],
|
||||
mobileNumber: json["MobileNumber"] == null ? null : json["MobileNumber"],
|
||||
faxNumber: json["FaxNumber"] == null ? null : json["FaxNumber"],
|
||||
emailAddress: json["EmailAddress"] == null ? null : json["EmailAddress"],
|
||||
isEmailAlertRequired: json["IsEmailAlertRequired"] == null ? null : json["IsEmailAlertRequired"],
|
||||
isSmsAlertRequired: json["IsSMSAlertRequired"] == null ? null : json["IsSMSAlertRequired"],
|
||||
preferredLanguage: json["PreferredLanguage"] == null ? null : json["PreferredLanguage"],
|
||||
emergencyContactName: json["EmergencyContactName"] == null ? null : json["EmergencyContactName"],
|
||||
emergencyContactNo: json["EmergencyContactNo"] == null ? null : json["EmergencyContactNo"],
|
||||
patientIdentificationType: json["PatientIdentificationType"] == null ? null : json["PatientIdentificationType"],
|
||||
patientIdentificationNo: json["PatientIdentificationNo"] == null ? null : json["PatientIdentificationNo"],
|
||||
projectId: json["ProjectID"] == null ? null : json["ProjectID"],
|
||||
receiveHealthSummaryReport: json["ReceiveHealthSummaryReport"] == null ? null : json["ReceiveHealthSummaryReport"],
|
||||
noShowCount: json["NoShowCount"] == null ? null : json["NoShowCount"],
|
||||
isPatientHasMobileDeviceToken: json["IsPatientHasMobileDeviceToken"] == null ? null : json["IsPatientHasMobileDeviceToken"],
|
||||
editedBy: json["EditedBy"] == null ? null : json["EditedBy"],
|
||||
isIvrStopped: json["IsIVRStopped"],
|
||||
crsClientIdentifierId: json["CRSClientIdentifierID"],
|
||||
crsVerificationStatus: json["CRSVerificationStatus"],
|
||||
crsVerifiedBy: json["CRSVerifiedBy"],
|
||||
crsVerificationStatusDesc: json["CRSVerificationStatusDesc"],
|
||||
crsVerificationStatusDescN: json["CRSVerificationStatusDescN"],
|
||||
numberPosition: json["NumberPosition"] == null ? null : json["NumberPosition"],
|
||||
status: json["Status"] == null ? null : json["Status"],
|
||||
isPrivilegedMember: json["IsPrivilegedMember"],
|
||||
address: json["Address"],
|
||||
age: json["Age"] == null ? null : json["Age"],
|
||||
emaiLAddress: json["EmaiLAddress"] == null ? null : json["EmaiLAddress"],
|
||||
genderDescription: json["GenderDescription"] == null ? null : json["GenderDescription"],
|
||||
genderImage: json["GenderImage"] == null ? null : json["GenderImage"],
|
||||
isPatientDataVerified: json["IsPatientDataVerified"] == null ? null : json["IsPatientDataVerified"],
|
||||
isPatientPrivilegedMember: json["IsPatientPrivilegedMember"] == null ? null : json["IsPatientPrivilegedMember"],
|
||||
nationalityDescription: json["NationalityDescription"] == null ? null : json["NationalityDescription"],
|
||||
nationalityFlagUrl: json["NationalityFlagURL"] == null ? null : json["NationalityFlagURL"],
|
||||
poBox: json["POBox"],
|
||||
patientDataVerified: json["PatientDataVerified"] == null ? null : json["PatientDataVerified"],
|
||||
patientName: json["PatientName"] == null ? null : json["PatientName"],
|
||||
patientTypeDescription: json["PatientTypeDescription"] == null ? null : json["PatientTypeDescription"],
|
||||
patientTypeDescriptionN: json["PatientTypeDescriptionN"],
|
||||
statusDscription: json["StatusDscription"] == null ? null : json["StatusDscription"],
|
||||
tempAddress: json["TempAddress"],
|
||||
upcomingAppointmentsNumber: json["UpcomingAppointmentsNumber"] == null ? null : json["UpcomingAppointmentsNumber"],
|
||||
zipCode: json["ZipCode"] == null ? null : json["ZipCode"],
|
||||
patientStatusType: json["patientStatusType"] ?? json["PatientStatusType"],
|
||||
);
|
||||
|
||||
Map<String, dynamic> toJson() => {
|
||||
"PatientID": patientId == null ? null : patientId,
|
||||
"SetupID": setupId == null ? null : setupId,
|
||||
"PatientType": patientType == null ? null : patientType,
|
||||
"FirstName": firstName == null ? null : firstName,
|
||||
"MiddleName": middleName == null ? null : middleName,
|
||||
"LastName": lastName == null ? null : lastName,
|
||||
"FirstNameN": firstNameN == null ? null : firstNameN,
|
||||
"MiddleNameN": middleNameN == null ? null : middleNameN,
|
||||
"LastNameN": lastNameN == null ? null : lastNameN,
|
||||
"Gender": gender == null ? null : gender,
|
||||
"DateofBirth": dateofBirth == null ? null : dateofBirth,
|
||||
"DateofBirthN": dateofBirthN == null ? null : dateofBirthN,
|
||||
"NationalityID": nationalityId == null ? null : nationalityId,
|
||||
"PhoneResi": phoneResi == null ? null : phoneResi,
|
||||
"PhoneOffice": phoneOffice == null ? null : phoneOffice,
|
||||
"MobileNumber": mobileNumber == null ? null : mobileNumber,
|
||||
"FaxNumber": faxNumber == null ? null : faxNumber,
|
||||
"EmailAddress": emailAddress == null ? null : emailAddress,
|
||||
"IsEmailAlertRequired": isEmailAlertRequired == null ? null : isEmailAlertRequired,
|
||||
"IsSMSAlertRequired": isSmsAlertRequired == null ? null : isSmsAlertRequired,
|
||||
"PreferredLanguage": preferredLanguage == null ? null : preferredLanguage,
|
||||
"EmergencyContactName": emergencyContactName == null ? null : emergencyContactName,
|
||||
"EmergencyContactNo": emergencyContactNo == null ? null : emergencyContactNo,
|
||||
"PatientIdentificationType": patientIdentificationType == null ? null : patientIdentificationType,
|
||||
"PatientIdentificationNo": patientIdentificationNo == null ? null : patientIdentificationNo,
|
||||
"ProjectID": projectId == null ? null : projectId,
|
||||
"ReceiveHealthSummaryReport": receiveHealthSummaryReport == null ? null : receiveHealthSummaryReport,
|
||||
"NoShowCount": noShowCount == null ? null : noShowCount,
|
||||
"IsPatientHasMobileDeviceToken": isPatientHasMobileDeviceToken == null ? null : isPatientHasMobileDeviceToken,
|
||||
"EditedBy": editedBy == null ? null : editedBy,
|
||||
"IsIVRStopped": isIvrStopped,
|
||||
"CRSClientIdentifierID": crsClientIdentifierId,
|
||||
"CRSVerificationStatus": crsVerificationStatus,
|
||||
"CRSVerifiedBy": crsVerifiedBy,
|
||||
"CRSVerificationStatusDesc": crsVerificationStatusDesc,
|
||||
"CRSVerificationStatusDescN": crsVerificationStatusDescN,
|
||||
"NumberPosition": numberPosition == null ? null : numberPosition,
|
||||
"Status": status == null ? null : status,
|
||||
"IsPrivilegedMember": isPrivilegedMember,
|
||||
"Address": address,
|
||||
"Age": age == null ? null : age,
|
||||
"EmaiLAddress": emaiLAddress == null ? null : emaiLAddress,
|
||||
"GenderDescription": genderDescription == null ? null : genderDescription,
|
||||
"GenderImage": genderImage == null ? null : genderImage,
|
||||
"IsPatientDataVerified": isPatientDataVerified == null ? null : isPatientDataVerified,
|
||||
"IsPatientPrivilegedMember": isPatientPrivilegedMember == null ? null : isPatientPrivilegedMember,
|
||||
"NationalityDescription": nationalityDescription == null ? null : nationalityDescription,
|
||||
"NationalityFlagURL": nationalityFlagUrl == null ? null : nationalityFlagUrl,
|
||||
"POBox": poBox,
|
||||
"PatientDataVerified": patientDataVerified == null ? null : patientDataVerified,
|
||||
"PatientName": patientName == null ? null : patientName,
|
||||
"PatientTypeDescription": patientTypeDescription == null ? null : patientTypeDescription,
|
||||
"PatientTypeDescriptionN": patientTypeDescriptionN,
|
||||
"StatusDscription": statusDscription == null ? null : statusDscription,
|
||||
"TempAddress": tempAddress,
|
||||
"UpcomingAppointmentsNumber": upcomingAppointmentsNumber == null ? null : upcomingAppointmentsNumber,
|
||||
"ZipCode": zipCode == null ? null : zipCode,
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PatientProfileCardModel {
|
||||
final String nameLine1;
|
||||
final String nameLine2;
|
||||
final dynamic route;
|
||||
final String icon;
|
||||
final bool isInPatient;
|
||||
final bool isDisable;
|
||||
final bool isLoading;
|
||||
final Function? onTap;
|
||||
final bool isDischargedPatient;
|
||||
final bool isSelectInpatient;
|
||||
final bool isDartIcon;
|
||||
final IconData? dartIcon;
|
||||
final Color? color;
|
||||
|
||||
PatientProfileCardModel(
|
||||
this.nameLine1,
|
||||
this.nameLine2,
|
||||
this.route,
|
||||
this.icon, {
|
||||
this.isInPatient = false,
|
||||
this.isDisable = false,
|
||||
this.isLoading = false,
|
||||
this.onTap,
|
||||
this.isDischargedPatient = false,
|
||||
this.isSelectInpatient = false,
|
||||
this.isDartIcon = false,
|
||||
this.dartIcon,
|
||||
this.color,
|
||||
});
|
||||
}
|
||||
@ -1,16 +1,35 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model2.dart';
|
||||
import 'package:hmg_nurses/provider/base_vm.dart';
|
||||
import 'package:hmg_nurses/services/api_repo/dashboard_api_repo.dart';
|
||||
import 'package:injector/injector.dart';
|
||||
|
||||
import '../classes/utils.dart';
|
||||
import '../main.dart';
|
||||
|
||||
/// Mix-in [DiagnosticableTreeMixin] to have access to [debugFillProperties] for the devtool
|
||||
// ignore: prefer_mixin
|
||||
class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
|
||||
//Attendance Tracking
|
||||
bool isAttendanceTrackingLoading = true;
|
||||
int endTime = 0, isTimeRemainingInSeconds = 0;
|
||||
double progress = 0.0;
|
||||
class DashboardProviderModel extends BaseViewModel {
|
||||
final IDashboardApiRepo _loginApiRepo = Injector.appInstance.get<IDashboardApiRepo>();
|
||||
|
||||
Future<GenericResponseModel2?> getDocProfile() async {
|
||||
try {
|
||||
Utils.showLoading();
|
||||
|
||||
void notify() {
|
||||
notifyListeners();
|
||||
// Utils.showToast(deviceInfo.length.toString());
|
||||
GenericResponseModel2 docProfileModel = await _loginApiRepo.getDoctorProfile();
|
||||
appState.doctorProfile = docProfileModel;
|
||||
await _loginApiRepo.insertDoctorProfile();
|
||||
Utils.hideLoading();
|
||||
return docProfileModel;
|
||||
} catch (e) {
|
||||
Utils.hideLoading();
|
||||
Utils.handleException(e, navigatorKey.currentContext!, (msg) {
|
||||
Utils.confirmDialog(navigatorKey.currentContext!, msg);
|
||||
});
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
enum _Action {
|
||||
increment,
|
||||
decrement,
|
||||
}
|
||||
|
||||
class MyStore extends ValueNotifier<int> {
|
||||
MyStore() : super(0);
|
||||
|
||||
void increment() => value++;
|
||||
|
||||
void decrement() => value--;
|
||||
}
|
||||
|
||||
class Bar {}
|
||||
|
||||
class Initial implements Bar {}
|
||||
|
||||
class Loading implements Bar {}
|
||||
|
||||
class Error implements Bar {
|
||||
Error(this.err);
|
||||
|
||||
final Object err;
|
||||
}
|
||||
|
||||
class Loaded implements Bar {
|
||||
Loaded(this.value);
|
||||
|
||||
final int value;
|
||||
}
|
||||
|
||||
class Foo extends ValueNotifier<Bar> {
|
||||
Foo() : super(Initial());
|
||||
|
||||
Future<void> fetch() async {
|
||||
value = Loading();
|
||||
try {
|
||||
final result = await Future<int>.delayed(Duration(seconds: 1));
|
||||
value = Loaded(result);
|
||||
} catch (err) {
|
||||
value = Error(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,289 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:hmg_nurses/classes/consts.dart';
|
||||
import 'package:hmg_nurses/classes/enums.dart';
|
||||
import 'package:hmg_nurses/classes/utils.dart';
|
||||
import 'package:hmg_nurses/config/routes.dart';
|
||||
import 'package:hmg_nurses/generated/locale_keys.g.dart';
|
||||
import 'package:hmg_nurses/main.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model2.dart';
|
||||
import 'package:hmg_nurses/model/base/post_params_model.dart';
|
||||
import 'package:hmg_nurses/model/login/imei_details_model.dart';
|
||||
import 'package:hmg_nurses/model/login/member_login_model.dart';
|
||||
import 'package:hmg_nurses/model/login/project_info_model.dart';
|
||||
import 'package:hmg_nurses/provider/base_vm.dart';
|
||||
import 'package:hmg_nurses/services/api_repo/login_api_repo.dart';
|
||||
import 'package:hmg_nurses/widgets/dialogs/otp_dialog.dart';
|
||||
import 'package:http/http.dart';
|
||||
import 'package:injector/injector.dart';
|
||||
import 'package:local_auth/auth_strings.dart';
|
||||
import 'package:local_auth/local_auth.dart';
|
||||
|
||||
class LoginProviderModel extends BaseViewModel {
|
||||
//UI variables
|
||||
late LocalAuthentication auth;
|
||||
late bool isFaceBioAvailable, isFingerBioAvailable;
|
||||
late List<BiometricType> _availableBiometrics;
|
||||
|
||||
//API's variables
|
||||
late List<ProjectInfoModel> assignedBranches;
|
||||
final ILoginApiRepo _loginApiRepo = Injector.appInstance.get<ILoginApiRepo>();
|
||||
|
||||
LoginProviderModel() {
|
||||
setOnlyState(ViewState.hide);
|
||||
checkBiosAvailblity();
|
||||
}
|
||||
|
||||
checkBiosAvailblity() async {
|
||||
auth = LocalAuthentication();
|
||||
await _getAvailableBiometrics();
|
||||
isFaceBioAvailable = checkBiometricIsAvailable(BiometricType.face);
|
||||
isFingerBioAvailable = checkBiometricIsAvailable(BiometricType.fingerprint);
|
||||
}
|
||||
|
||||
/// check specific biometric if it available or not
|
||||
bool checkBiometricIsAvailable(BiometricType biometricType) {
|
||||
bool isAvailable = false;
|
||||
for (int i = 0; i < _availableBiometrics.length; i++) {
|
||||
if (biometricType == _availableBiometrics[i]) {
|
||||
isAvailable = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return isAvailable;
|
||||
}
|
||||
|
||||
/// get all available biometric on the device for local Auth service
|
||||
Future<void> _getAvailableBiometrics() async {
|
||||
try {
|
||||
_availableBiometrics = await auth.getAvailableBiometrics();
|
||||
print(_availableBiometrics);
|
||||
} on PlatformException catch (e) {
|
||||
// AppToast.showErrorToast(message: e.message);
|
||||
print("_getAvailableBiometrics");
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> loginWithFaceIDAndBiometrics() async {
|
||||
IOSAuthMessages iosStrings =
|
||||
const IOSAuthMessages(cancelButton: 'cancel', goToSettingsButton: 'settings', goToSettingsDescription: 'Please set up your Touch ID.', lockOut: 'Please re-enable your Touch ID');
|
||||
bool authenticated = false;
|
||||
try {
|
||||
authenticated = await auth.authenticate(localizedReason: 'Scan your fingerprint to authenticate', useErrorDialogs: true, stickyAuth: true, biometricOnly: true, iOSAuthStrings: iosStrings);
|
||||
} on PlatformException catch (e) {
|
||||
print(e);
|
||||
Utils.showToast("Please enable your Touch or Face ID");
|
||||
}
|
||||
return authenticated;
|
||||
}
|
||||
|
||||
int getLoginMethodId(AuthMethodTypes authMethodTypes) {
|
||||
switch (authMethodTypes) {
|
||||
case AuthMethodTypes.sms:
|
||||
return 1;
|
||||
case AuthMethodTypes.whatsApp:
|
||||
return 2;
|
||||
case AuthMethodTypes.fingerPrint:
|
||||
return 3;
|
||||
case AuthMethodTypes.faceID:
|
||||
return 4;
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
String getType(type) {
|
||||
switch (type) {
|
||||
case 1:
|
||||
return LocaleKeys.sms.tr();
|
||||
case 3:
|
||||
return LocaleKeys.fingerPrint.tr();
|
||||
case 4:
|
||||
return LocaleKeys.face.tr();
|
||||
case 2:
|
||||
return LocaleKeys.whatsapp.tr();
|
||||
default:
|
||||
return LocaleKeys.sms.tr();
|
||||
}
|
||||
}
|
||||
|
||||
// LoginType getDirectLoginType(type) {
|
||||
// switch (type) {
|
||||
// case 1:
|
||||
// return LoginType.DIRECT_LOGIN;
|
||||
// case 3:
|
||||
// return LocaleKeys.fingerPrint.tr();
|
||||
// case 4:
|
||||
// return LocaleKeys.face.tr();
|
||||
// case 2:
|
||||
// return LocaleKeys.whatsapp.tr();
|
||||
// default:
|
||||
// return LocaleKeys.sms.tr();
|
||||
// }
|
||||
// }
|
||||
|
||||
//API Calls
|
||||
checkLastSession() async {
|
||||
try {
|
||||
Utils.showLoading();
|
||||
List<GetIMEIDetailsModel> deviceInfo = await _loginApiRepo.getDeviceInfoByIMEI();
|
||||
if (deviceInfo.isNotEmpty) getSession(deviceInfo.first);
|
||||
Utils.showToast(deviceInfo.length.toString());
|
||||
Utils.hideLoading();
|
||||
} catch (e) {
|
||||
Utils.hideLoading();
|
||||
}
|
||||
}
|
||||
|
||||
getAssignedBranches(String userId) async {
|
||||
setState(ViewState.busy);
|
||||
assignedBranches = await _loginApiRepo.getProjectInfo(userId);
|
||||
print(assignedBranches.length);
|
||||
setState(ViewState.idle);
|
||||
}
|
||||
|
||||
Future<bool> performLogin(String userID, String password, int branchId) async {
|
||||
try {
|
||||
Utils.showLoading();
|
||||
MemberLoginModel memberLogin = await _loginApiRepo.memberLogin(userID, password, branchId);
|
||||
// Utils.showToast(deviceInfo.length.toString());
|
||||
appState.memberBeforeLogin = memberLogin;
|
||||
appState.projectID = branchId;
|
||||
appState.logInTokenID = memberLogin.logInTokenId;
|
||||
appState.lastLoginTyp = -1;
|
||||
Utils.hideLoading();
|
||||
Navigator.pushReplacementNamed(navigatorKey.currentContext!, AppRoutes.loginMethodsPage, arguments: LoginType.FROM_LOGIN);
|
||||
return true;
|
||||
} catch (e) {
|
||||
Utils.hideLoading();
|
||||
Utils.handleException(e, navigatorKey.currentContext!, (msg) {
|
||||
Utils.confirmDialog(navigatorKey.currentContext!, msg);
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<GenericResponseModel?> sendActivationCode(MemberLoginModel memberLoginModel, int facilityID, int sendOtpType, LoginType loginType, {bool isNeedBinding = true}) async {
|
||||
try {
|
||||
Utils.showLoading(isNeedBinding: isNeedBinding);
|
||||
GenericResponseModel memberLogin;
|
||||
|
||||
if (loginType == LoginType.FROM_LOGIN) {
|
||||
memberLogin = await _loginApiRepo.sendActivationCode(memberLoginModel, facilityID, sendOtpType);
|
||||
appState.logInTokenID = memberLogin.logInTokenId.toString();
|
||||
Utils.hideLoading();
|
||||
startSMSService(sendOtpType, false);
|
||||
} else {
|
||||
if (loginType == LoginType.SILENT_LOGIN) {
|
||||
memberLogin = await _loginApiRepo.sendActivationCodeForSlientLogin(memberLoginModel, facilityID, sendOtpType);
|
||||
appState.logInTokenID = memberLogin.logInTokenId.toString();
|
||||
checkActivationCode("0000", sendOtpType, true);
|
||||
} else {
|
||||
memberLogin = await _loginApiRepo.sendActivationCodeForSlientLogin(memberLoginModel, facilityID, sendOtpType);
|
||||
appState.logInTokenID = memberLogin.logInTokenId.toString();
|
||||
Utils.hideLoading();
|
||||
startSMSService(sendOtpType, true);
|
||||
}
|
||||
}
|
||||
|
||||
return memberLogin;
|
||||
} catch (e) {
|
||||
Utils.hideLoading();
|
||||
Utils.handleException(e, navigatorKey.currentContext!, (msg) {
|
||||
Utils.confirmDialog(navigatorKey.currentContext!, msg);
|
||||
});
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Future<GenericResponseModel?> checkActivationCode(String activationCode, int sendOtpType, bool isFromSilentLogin) async {
|
||||
try {
|
||||
if (!isFromSilentLogin) Utils.showLoading();
|
||||
GenericResponseModel memberLogin = await _loginApiRepo.checkActivationCode(activationCode, sendOtpType, isFromSilentLogin);
|
||||
Utils.hideLoading();
|
||||
setSession(memberLogin);
|
||||
Navigator.pushReplacementNamed(navigatorKey.currentContext!, AppRoutes.dashboard);
|
||||
return memberLogin;
|
||||
} catch (e) {
|
||||
Utils.hideLoading();
|
||||
Utils.handleException(e, navigatorKey.currentContext!, (msg) {
|
||||
Utils.confirmDialog(navigatorKey.currentContext!, msg);
|
||||
});
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
startSMSService(int sendOtpType, bool isFromSilentLogin) {
|
||||
OtpDialog(
|
||||
type: sendOtpType,
|
||||
mobileNo: appState.memberBeforeLogin!.mobileNumber,
|
||||
onSuccess: (String otpCode, TextEditingController pinPut) {
|
||||
Navigator.pop(navigatorKey.currentContext!);
|
||||
Utils.showLoading();
|
||||
checkActivationCode(otpCode, sendOtpType, isFromSilentLogin);
|
||||
Utils.hideLoading();
|
||||
},
|
||||
onFailure: () => Navigator.pop(navigatorKey.currentContext!),
|
||||
onResendCode: () {},
|
||||
).displayDialog(navigatorKey.currentContext!);
|
||||
}
|
||||
|
||||
setSession(GenericResponseModel response) {
|
||||
appState.vidaAuthTokenID = response.vidaAuthTokenId;
|
||||
appState.vidaRefreshTokenID = response.vidaRefreshTokenId;
|
||||
appState.authenticationTokenID = response.authenticationTokenId;
|
||||
appState.listDoctorsClinic = response.listDoctorsClinic;
|
||||
appState.projectID = response.listDoctorsClinic!.first.projectId!;
|
||||
appState.clinicId = response.listDoctorsClinic!.first.clinicId!;
|
||||
appState.employeeId = response.memberInformation!.employeeId;
|
||||
appState.isLogged = true;
|
||||
PostParamsModel? paramsModel = appState.postParamsObject;
|
||||
paramsModel!.doctorId = appState.employeeId;
|
||||
paramsModel.editedBy = appState.employeeId;
|
||||
paramsModel.projectId = appState.projectID;
|
||||
paramsModel.clinicId = appState.clinicId;
|
||||
MemberLoginModel.saveToPrefs(jsonEncode(appState.memberBeforeLogin!.toJson()));
|
||||
Utils.saveIntFromPrefs(SharedPrefsConsts.username, appState.doctorUserId ?? 0);
|
||||
Utils.saveStringFromPrefs(SharedPrefsConsts.password, appState.password ?? "");
|
||||
Utils.saveStringFromPrefs(SharedPrefsConsts.logInTokenID, appState.logInTokenID ?? "");
|
||||
Utils.saveStringFromPrefs(SharedPrefsConsts.vidaAuthTokenID, appState.vidaAuthTokenID ?? "");
|
||||
Utils.saveStringFromPrefs(SharedPrefsConsts.vidaRefreshTokenID, appState.vidaRefreshTokenID ?? "");
|
||||
Utils.saveStringFromPrefs(SharedPrefsConsts.authenticationTokenID, appState.authenticationTokenID ?? "");
|
||||
Utils.saveIntFromPrefs(SharedPrefsConsts.projectID, appState.projectID);
|
||||
Utils.saveIntFromPrefs(SharedPrefsConsts.clinicId, appState.clinicId);
|
||||
Utils.saveStringFromPrefs(SharedPrefsConsts.lastLoginDate, Utils.getMonthNamedFormat(DateTime.now()));
|
||||
}
|
||||
|
||||
getSession(GetIMEIDetailsModel model) async {
|
||||
int doctorUserId = await Utils.getIntFromPrefs(SharedPrefsConsts.username);
|
||||
if (model.doctorID == doctorUserId) {
|
||||
String password = await Utils.getStringFromPrefs(SharedPrefsConsts.password);
|
||||
String logInTokenID = await Utils.getStringFromPrefs(SharedPrefsConsts.logInTokenID);
|
||||
String authenticationTokenID = await Utils.getStringFromPrefs(SharedPrefsConsts.authenticationTokenID);
|
||||
int clinicId = await Utils.getIntFromPrefs(SharedPrefsConsts.clinicId);
|
||||
String lastLoginDate = await Utils.getStringFromPrefs(SharedPrefsConsts.lastLoginDate);
|
||||
appState.memberBeforeLogin = await MemberLoginModel.getFromPrefs();
|
||||
// print(appState.memberBeforeLogin!.toJson());
|
||||
|
||||
appState.lastLoginTyp = -1;
|
||||
appState.doctorUserId = doctorUserId;
|
||||
appState.employeeId = appState.memberBeforeLogin!.listMemberInformation!.first.employeeId;
|
||||
appState.password = password;
|
||||
appState.logInTokenID = logInTokenID;
|
||||
appState.vidaAuthTokenID = model.vidaAuthTokenID;
|
||||
appState.vidaRefreshTokenID = model.vidaRefreshTokenID;
|
||||
appState.authenticationTokenID = authenticationTokenID;
|
||||
appState.projectID = model.projectID ?? 0;
|
||||
appState.clinicId = clinicId;
|
||||
appState.lastLoginImeiDate = model;
|
||||
appState.lastLoginDate = lastLoginDate;
|
||||
Navigator.pushReplacementNamed(navigatorKey.currentContext!, AppRoutes.loginMethodsPage, arguments: LoginType.SILENT_LOGIN);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,80 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hmg_nurses/classes/utils.dart';
|
||||
import 'package:hmg_nurses/config/app_state.dart';
|
||||
import 'package:hmg_nurses/config/routes.dart';
|
||||
import 'package:hmg_nurses/main.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model.dart';
|
||||
import 'package:hmg_nurses/model/patient/patient_file_information_prm_list.dart';
|
||||
import 'package:hmg_nurses/provider/base_vm.dart';
|
||||
import 'package:hmg_nurses/services/api_repo/patient_api_repo.dart';
|
||||
import 'package:injector/injector.dart';
|
||||
|
||||
class PatientProviderModel extends BaseViewModel {
|
||||
final IPatientApiRepo _patientApiRepo = Injector.appInstance.get<IPatientApiRepo>();
|
||||
late GenericResponseModel searchedPatient;
|
||||
late GenericResponseModel vitalSignHistory;
|
||||
List<GetPatientFileInformationPrmList> filteredPatientsList = [];
|
||||
|
||||
searchPatient(int patientId) async {
|
||||
try {
|
||||
Utils.showLoading();
|
||||
searchedPatient = await _patientApiRepo.getPatientInfo(patientId);
|
||||
Utils.showToast(searchedPatient.getPatientFileInformationPrmList!.length.toString());
|
||||
filteredPatientsList.addAll(searchedPatient.getPatientFileInformationPrmList!);
|
||||
Utils.hideLoading();
|
||||
Navigator.pushNamed(navigatorKey.currentContext!, AppRoutes.searchedFor, arguments: patientId);
|
||||
return true;
|
||||
} catch (e) {
|
||||
Utils.hideLoading();
|
||||
Utils.handleException(e, navigatorKey.currentContext!, (msg) {
|
||||
Utils.confirmDialog(navigatorKey.currentContext!, msg);
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
filterPatient(String str) {
|
||||
var strExist = str.length > 0 ? true : false;
|
||||
if (strExist) {
|
||||
filteredPatientsList = [];
|
||||
for (var i = 0; i < searchedPatient.getPatientFileInformationPrmList!.length; i++) {
|
||||
String firstName = searchedPatient.getPatientFileInformationPrmList![i].firstName!.toUpperCase();
|
||||
String lastName = searchedPatient.getPatientFileInformationPrmList![i].lastName!.toUpperCase();
|
||||
String mobile = searchedPatient.getPatientFileInformationPrmList![i].mobileNumber!.toUpperCase();
|
||||
String patientID = searchedPatient.getPatientFileInformationPrmList![i].patientId.toString();
|
||||
|
||||
if (firstName.contains(str.toUpperCase()) || lastName.contains(str.toUpperCase()) || mobile.contains(str) || patientID.contains(str)) {
|
||||
filteredPatientsList.add(searchedPatient.getPatientFileInformationPrmList![i]);
|
||||
}
|
||||
}
|
||||
notifyListeners();
|
||||
} else {
|
||||
filteredPatientsList = searchedPatient.getPatientFileInformationPrmList!;
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
fetchVitalSignsHistory(GetPatientFileInformationPrmList patient) async {
|
||||
try {
|
||||
Utils.showLoading();
|
||||
vitalSignHistory = await _patientApiRepo.getVitalSigns(
|
||||
patientID: patient.patientId,
|
||||
patientTypeID: patient.patientType,
|
||||
inOutPatientType: 0,
|
||||
isDentalAllowedBackend: false,
|
||||
doctorID: appState.employeeId,
|
||||
setupID: appState.setupId,
|
||||
patientType: patient.patientType);
|
||||
Utils.showToast(vitalSignHistory.listDoctorPatientVitalSign!.length.toString());
|
||||
Utils.hideLoading();
|
||||
// Navigator.pushNamed(navigatorKey.currentContext!, AppRoutes.searchedFor, arguments: patientId);
|
||||
return true;
|
||||
} catch (e) {
|
||||
Utils.hideLoading();
|
||||
Utils.handleException(e, navigatorKey.currentContext!, (msg) {
|
||||
Utils.confirmDialog(navigatorKey.currentContext!, msg);
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,121 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:hmg_nurses/exceptions/api_exception.dart';
|
||||
import 'package:hmg_nurses/main.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model2.dart';
|
||||
import 'package:hmg_nurses/model/login/member_login_model.dart';
|
||||
import 'package:hmg_nurses/model/login/project_info_model.dart';
|
||||
import 'package:hmg_nurses/services/api_client.dart';
|
||||
import 'package:hmg_nurses/classes/consts.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model.dart';
|
||||
import 'package:hmg_nurses/model/login/imei_details_model.dart';
|
||||
import 'package:hmg_nurses/services/firebase_service.dart';
|
||||
import 'package:injector/injector.dart';
|
||||
|
||||
abstract class IDashboardApiRepo {
|
||||
Future<GenericResponseModel2> getDoctorProfile();
|
||||
|
||||
Future insertDoctorProfile();
|
||||
}
|
||||
|
||||
class DashboardApiRepo implements IDashboardApiRepo {
|
||||
@override
|
||||
Future<GenericResponseModel2> getDoctorProfile() async {
|
||||
String url = "${ApiConsts.baseUrlServices}Doctors.svc/REST/GetDocProfiles";
|
||||
Map<String, dynamic> postParams = {};
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["ProjectID"] = appState.projectID;
|
||||
postParams["ClinicID"] = appState.clinicId;
|
||||
postParams["doctorID"] = appState.memberBeforeLogin!.doctorId;
|
||||
postParams["IsRegistered"] = true;
|
||||
postParams["License"] = true;
|
||||
postParams["TokenID"] = appState.authenticationTokenID;
|
||||
postParams["DoctorID"] = appState.memberBeforeLogin!.doctorId;
|
||||
postParams["PatientOutSA"] = false;
|
||||
|
||||
GenericResponseModel2 response;
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel2.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
@override
|
||||
Future insertDoctorProfile() async {
|
||||
String url = "${ApiConsts.baseUrlServices}DoctorApplication.svc/REST/DoctorApp_InsertOrUpdateDeviceDetails";
|
||||
Map<String, dynamic> postParams = {};
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["IMEI"] = appState.imei;
|
||||
postParams["LogInTypeID"] = appState.lastLoginTyp;
|
||||
postParams["OutSA"] = null;
|
||||
postParams["MobileNo"] = appState.doctorProfile!.doctorProfileList!.first.doctorMobileNumber;
|
||||
postParams["IdentificationNo"] = null;
|
||||
postParams["DoctorID"] = appState.doctorUserId;
|
||||
postParams["DoctorName"] = appState.doctorProfile!.doctorProfileList!.first.doctorName;
|
||||
postParams["DoctorNameN"] = appState.doctorProfile!.doctorProfileList!.first.doctorNameN;
|
||||
postParams["ClinicID"] = appState.doctorProfile!.doctorProfileList!.first.clinicId;
|
||||
postParams["ClinicDescription"] = appState.doctorProfile!.doctorProfileList!.first.clinicDescription;
|
||||
postParams["ClinicDescriptionN"] = appState.doctorProfile!.doctorProfileList!.first.clinicDescriptionN;
|
||||
postParams["ProjectName"] = appState.doctorProfile!.doctorProfileList!.first.projectName;
|
||||
postParams["GenderDescription"] = appState.doctorProfile!.doctorProfileList!.first.genderDescription;
|
||||
postParams["GenderDescriptionN"] = appState.doctorProfile!.doctorProfileList!.first.genderDescriptionN;
|
||||
postParams["TitleDescription"] = appState.doctorProfile!.doctorProfileList!.first.titleDescription;
|
||||
postParams["Title_DescriptionN"] = appState.doctorProfile!.doctorProfileList!.first.titleDescriptionN;
|
||||
postParams["BioMetricEnabled"] = true;
|
||||
postParams["PreferredLanguage"] = null;
|
||||
postParams["IsActive"] = appState.doctorProfile!.doctorProfileList!.first.isActive;
|
||||
postParams["EditedBy"] = appState.doctorProfile!.doctorProfileList!.first.doctorId;
|
||||
postParams["ProjectID"] = appState.doctorProfile!.doctorProfileList!.first.projectId;
|
||||
postParams["TokenID"] = appState.authenticationTokenID;
|
||||
postParams["LoginDoctorID"] = appState.doctorProfile!.doctorProfileList!.first.doctorId;
|
||||
postParams["Password"] = appState.password;
|
||||
|
||||
logger.d(jsonEncode(postParams));
|
||||
GenericResponseModel response;
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// {
|
||||
// "IMEI": "es6V9NcpSzCXR665uSDWGo:APA91bGF_FjdOf8ZOZmw5FU7pkDfzNOvkz-IsSBRrJE6OR0ZE2lyeTxzFtvjZEajUEC_ssD6ytKNEm74lm30KpZEvPdrNgSRR8idlGrRqJ6qK2Lp2lrLtgA1OLMjkkQS1bcpvXcdnEg_",
|
||||
// "LogInTypeID": 1,
|
||||
// "OutSA": null,
|
||||
// "MobileNo": "0553755378",
|
||||
// "IdentificationNo": null,
|
||||
// "DoctorID": 13777,
|
||||
// "DoctorName": "EYAD ISMAIL ABU-JAYAB",
|
||||
// "DoctorNameN": null,
|
||||
// "ClinicID": 1,
|
||||
// "ClinicDescription": "INTERNAL MEDICINE CLINIC",
|
||||
// "ClinicDescriptionN": null,
|
||||
// "ProjectName": "Olaya Hospital",
|
||||
// "GenderDescription": "Male",
|
||||
// "GenderDescriptionN": null,
|
||||
// "TitleDescription": "Dr.",
|
||||
// "Title_DescriptionN": null,
|
||||
// "BioMetricEnabled": true,
|
||||
// "PreferredLanguage": null,
|
||||
// "IsActive": false,
|
||||
// "EditedBy": 2477,
|
||||
// "ProjectID": 12,
|
||||
// "TokenID": "W7qObFELE0+VAtKJoTeq+w==",
|
||||
// "LanguageID": 2,
|
||||
// "stamp": "2022-11-27T10:50:25.345098",
|
||||
// "IPAdress": "9.9.9.9",
|
||||
// "VersionID": 9,
|
||||
// "Channel": 9,
|
||||
// "SessionID": "BlUSkYymTt",
|
||||
// "IsLoginForDoctorApp": true,
|
||||
// "PatientOutSA": false,
|
||||
// "VidaAuthTokenID": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMzc3NyIsImp0aSI6IjNiM2U5MTU4LTJhNmEtNGM4MS04OTk5LWU3ZTRhYzUzMmFiOCIsImVtYWlsIjoiUndhaWQuQWxtYWxsYWhAY2xvdWRzb2x1dGlvbnMuY29tLnNhIiwiaWQiOiIxMzc3NyIsIk5hbWUiOiJSd2FpZCBGb3VkIEhhc3NhbiBBbE1hbGxhaCIsIkVtcGxveWVlSWQiOiIyNDc3IiwiRmFjaWxpdHlHcm91cElkIjoiOTE4NzciLCJGYWNpbGl0eUlkIjoiMTIiLCJQaGFyYW1jeUZhY2lsaXR5SWQiOiI1NiIsIklTX1BIQVJNQUNZX0NPTk5FQ1RFRCI6IlRydWUiLCJEb2N0b3JJZCI6IjI0NzciLCJTRVNTSU9OSUQiOiIyMDYzNDY2OCIsIkNsaW5pY0lkIjoiMSIsIm5iZiI6MTY2OTUzNTQxMSwiZXhwIjoxNjcwMzk5NDExLCJpYXQiOjE2Njk1MzU0MTF9.LkZMiDAt9F4yjbuNyMSIcZYIgct6VuPed7uPOw0PTVw",
|
||||
// "VidaRefreshTokenID": "sm30FcA2iL0lJmSCAVlNJJ8e0AbfYzHxg+wMGTBSoP9VM9do55BRxjATjBtOJyo60u8tLRk9LHrmmH8Xn+B25A==",
|
||||
// "Password": "Rr123456",
|
||||
// "LoginDoctorID": 2477,
|
||||
// "DeviceTypeID": 1
|
||||
// }
|
||||
@ -0,0 +1,169 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:hmg_nurses/classes/utils.dart';
|
||||
import 'package:hmg_nurses/exceptions/api_exception.dart';
|
||||
import 'package:hmg_nurses/main.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model2.dart';
|
||||
import 'package:hmg_nurses/model/login/member_login_model.dart';
|
||||
import 'package:hmg_nurses/model/login/project_info_model.dart';
|
||||
import 'package:hmg_nurses/services/api_client.dart';
|
||||
import 'package:hmg_nurses/classes/consts.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model.dart';
|
||||
import 'package:hmg_nurses/model/login/imei_details_model.dart';
|
||||
import 'package:hmg_nurses/services/firebase_service.dart';
|
||||
import 'package:injector/injector.dart';
|
||||
|
||||
abstract class ILoginApiRepo {
|
||||
Future<List<GetIMEIDetailsModel>> getDeviceInfoByIMEI();
|
||||
|
||||
Future<List<ProjectInfoModel>> getProjectInfo(String userId);
|
||||
|
||||
Future<MemberLoginModel> memberLogin(String userId, String password, int projectId);
|
||||
|
||||
Future<GenericResponseModel> sendActivationCode(MemberLoginModel memberLoginModel, int facilityID, int sendOtpType);
|
||||
|
||||
Future<GenericResponseModel> sendActivationCodeForSlientLogin(MemberLoginModel memberLoginModel, int facilityID, int sendOtpType);
|
||||
|
||||
Future<GenericResponseModel> checkActivationCode(String activationCode, int sendOtpType, bool isFromSilentLogin);
|
||||
}
|
||||
|
||||
class LoginApiRepo implements ILoginApiRepo {
|
||||
final IFirebaseService _firebaseService = Injector.appInstance.get<IFirebaseService>();
|
||||
|
||||
@override
|
||||
Future<List<GetIMEIDetailsModel>> getDeviceInfoByIMEI() async {
|
||||
String url = "${ApiConsts.baseUrlServices}DoctorApplication.svc/REST/DoctorApp_GetDeviceDetailsByIMEI";
|
||||
String token = await _firebaseService.getFirebaseToke();
|
||||
logger.d("firebase_token: " + token);
|
||||
appState.imei = token;
|
||||
|
||||
Map<String, dynamic> postParams = {};
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["stamp"] = DateTime.now().toIso8601String();
|
||||
postParams["IMEI"] = appState.imei;
|
||||
GenericResponseModel response;
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response.listDoctorDeviceDetails ?? [];
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<ProjectInfoModel>> getProjectInfo(String userId) async {
|
||||
String url = "${ApiConsts.baseUrlServices}DoctorApplication.svc/REST/GetProjectInfo";
|
||||
|
||||
Map<String, dynamic> postParams = {};
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["MemberID"] = "13777";
|
||||
GenericResponseModel response;
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response.projectInfo ?? [];
|
||||
}
|
||||
|
||||
@override
|
||||
Future<MemberLoginModel> memberLogin(String userId, String password, int projectId) async {
|
||||
String url = "${ApiConsts.baseUrlServices}Sentry.svc/REST/MemberLogIN_New";
|
||||
|
||||
Map<String, dynamic> postParams = {};
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["UserID"] = userId;
|
||||
postParams["Password"] = password;
|
||||
postParams["ProjectID"] = projectId;
|
||||
MemberLoginModel response;
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => MemberLoginModel.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<GenericResponseModel> sendActivationCode(MemberLoginModel memberLoginModel, int facilityID, int sendOtpType) async {
|
||||
String url = "${ApiConsts.baseUrlServices}DoctorApplication.svc/REST/SendActivationCodeForDoctorApp";
|
||||
Map<String, dynamic> postParams = {};
|
||||
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["MemberID"] = memberLoginModel.listMemberInformation!.first.memberId;
|
||||
postParams["facilityId"] = facilityID;
|
||||
postParams["OTP_SendType"] = sendOtpType.toString();
|
||||
postParams["LoginDoctorID"] = memberLoginModel.doctorId;
|
||||
postParams["DoctorID"] = memberLoginModel.doctorId;
|
||||
postParams["TokenID"] = appState.logInTokenID;
|
||||
GenericResponseModel response;
|
||||
print(jsonEncode(postParams));
|
||||
// return GenericResponseModel();
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
|
||||
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<GenericResponseModel> sendActivationCodeForSlientLogin(MemberLoginModel memberLoginModel, int facilityID, int sendOtpType) async {
|
||||
String url = "${ApiConsts.baseUrlServices}DoctorApplication.svc/REST/SendVerificationCode";
|
||||
Map<String, dynamic> postParams = {};
|
||||
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["MobileNumber"] = memberLoginModel.mobileNumber;
|
||||
postParams["ZipCode"] = memberLoginModel.zipCode;
|
||||
postParams["IsMobileFingerPrint"] = 1;
|
||||
postParams["IMEI"] = appState.imei;
|
||||
postParams["LoginDoctorID"] = memberLoginModel.doctorId;
|
||||
postParams["DoctorID"] = memberLoginModel.doctorId;
|
||||
postParams["MemberID"] = memberLoginModel.listMemberInformation!.first.memberId;
|
||||
postParams["facilityId"] = facilityID;
|
||||
postParams["OTP_SendType"] = sendOtpType;
|
||||
postParams["LoginDoctorID"] = memberLoginModel.doctorId;
|
||||
postParams["DoctorID"] = memberLoginModel.doctorId;
|
||||
postParams["TokenID"] = appState.logInTokenID;
|
||||
GenericResponseModel response;
|
||||
print(jsonEncode(postParams));
|
||||
// return GenericResponseModel();
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<GenericResponseModel> checkActivationCode(String activationCode, int sendOtpType, bool isFromSilentLogin) async {
|
||||
String url = "${ApiConsts.baseUrlServices}DoctorApplication.svc/REST/CheckActivationCodeForDoctorApp";
|
||||
Map<String, dynamic> postParams = {};
|
||||
MemberLoginModel memberLoginModel = appState.memberBeforeLogin ?? MemberLoginModel();
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["MobileNumber"] = memberLoginModel.mobileNumber;
|
||||
postParams["ProjectID"] = appState.projectID;
|
||||
postParams["LogInTokenID"] = appState.logInTokenID;
|
||||
postParams["activationCode"] = activationCode;
|
||||
postParams["OTP_SendType"] = sendOtpType;
|
||||
postParams["facilityId"] = appState.projectID;
|
||||
postParams["MemberID"] = appState.memberBeforeLogin!.listMemberInformation!.first.memberId;
|
||||
postParams["Password"] = appState.password;
|
||||
postParams["IsForSilentLogin"] = isFromSilentLogin;
|
||||
postParams["LoginDoctorID"] = appState.memberBeforeLogin?.doctorId;
|
||||
postParams["DoctorID"] = appState.memberBeforeLogin?.doctorId;
|
||||
postParams["IMEI"] = appState.imei;
|
||||
postParams["ZipCode"] = appState.memberBeforeLogin?.zipCode;
|
||||
postParams["TokenID"] = appState.logInTokenID;
|
||||
|
||||
GenericResponseModel response;
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,80 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:hmg_nurses/classes/consts.dart';
|
||||
import 'package:hmg_nurses/main.dart';
|
||||
import 'package:hmg_nurses/model/base/generic_response_model.dart';
|
||||
import 'package:hmg_nurses/services/api_client.dart';
|
||||
import 'package:injector/injector.dart';
|
||||
|
||||
abstract class IPatientApiRepo {
|
||||
Future<GenericResponseModel> getPatientInfo(int patientID);
|
||||
|
||||
Future<GenericResponseModel> getVitalSigns({int? patientID, int? patientTypeID, int? inOutPatientType, bool isDentalAllowedBackend, int? doctorID, int setupID, int? patientType});
|
||||
}
|
||||
|
||||
class PatientApiRepo implements IPatientApiRepo {
|
||||
@override
|
||||
Future<GenericResponseModel> getPatientInfo(int patientID) async {
|
||||
String url = "${ApiConsts.baseUrlServices}Patients.svc/REST/GetPatientInformation_PRM";
|
||||
Map<String, dynamic> postParams = {};
|
||||
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["FirstName"] = "0";
|
||||
postParams["MiddleName"] = "0";
|
||||
postParams["LastName"] = "0";
|
||||
postParams["PatientMobileNumber"] = "0";
|
||||
postParams["PatientIdentificationID"] = "0";
|
||||
postParams["PatientID"] = patientID;
|
||||
postParams["From"] = "0";
|
||||
postParams["To"] = "0";
|
||||
postParams["SearchType"] = 1;
|
||||
postParams["MobileNo"] = "";
|
||||
postParams["IdentificationNo"] = "0";
|
||||
postParams["NursingStationID"] = "0";
|
||||
GenericResponseModel response;
|
||||
print(jsonEncode(postParams));
|
||||
// return GenericResponseModel();
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<GenericResponseModel> getVitalSigns({int? patientID, int? patientTypeID, int? inOutPatientType, bool? isDentalAllowedBackend, int? doctorID, int? setupID, int? patientType}) async {
|
||||
String url = "${ApiConsts.baseUrlServices}Doctors.svc/REST/Doctor_GetPatientVitalSign";
|
||||
Map<String, dynamic> postParams = {};
|
||||
|
||||
// {
|
||||
// "PatientID": 12,
|
||||
// "PatientTypeID": 1,
|
||||
// "InOutPatientType": 0,
|
||||
// "isDentalAllowedBackend": false,
|
||||
// "DoctorID": 2477,
|
||||
// "SetupID": "91877",
|
||||
// "PatientType": 1,
|
||||
// }
|
||||
|
||||
postParams.addAll(appState.postParamsJson);
|
||||
postParams["PatientID"] = patientID;
|
||||
postParams["PatientTypeID"] = patientTypeID;
|
||||
postParams["InOutPatientType"] = inOutPatientType;
|
||||
postParams["isDentalAllowedBackend"] = isDentalAllowedBackend;
|
||||
postParams["DoctorID"] = doctorID;
|
||||
postParams["SetupID"] = setupID;
|
||||
postParams["PatientType"] = patientType;
|
||||
postParams.remove("ProjectID");
|
||||
postParams.remove("ClinicID");
|
||||
|
||||
GenericResponseModel response;
|
||||
// return GenericResponseModel();
|
||||
try {
|
||||
response = await Injector.appInstance.get<IApiClient>().postJsonForObject((json) => GenericResponseModel.fromJson(json), url, postParams);
|
||||
} catch (e) {
|
||||
rethrow;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
|
||||
abstract class IFirebaseService {
|
||||
Future<String> getFirebaseToke();
|
||||
}
|
||||
|
||||
class FirebaseService implements IFirebaseService {
|
||||
final FirebaseMessaging? _firebaseMessaging = FirebaseMessaging.instance;
|
||||
|
||||
FirebaseService() {
|
||||
_firebaseMessaging!.setAutoInitEnabled(true);
|
||||
if (Platform.isIOS) {
|
||||
_firebaseMessaging!.requestPermission();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<String> getFirebaseToke() async {
|
||||
var token = await _firebaseMessaging!.getToken();
|
||||
return token ?? "";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,79 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hmg_nurses/config/routes.dart';
|
||||
import 'package:hmg_nurses/main.dart';
|
||||
import 'package:hmg_nurses/provider/dashboard_provider_model.dart';
|
||||
import 'package:hmg_nurses/ui/dashboard/widgets/home_patient_card.dart';
|
||||
import 'package:hmg_nurses/widgets/icons_app/doctor_app_icons.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class DashboardPage extends StatefulWidget {
|
||||
@override
|
||||
State<DashboardPage> createState() => _DashboardPageState();
|
||||
}
|
||||
|
||||
class _DashboardPageState extends State<DashboardPage> {
|
||||
late DashboardProviderModel provider;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
provider = Provider.of<DashboardProviderModel>(navigatorKey.currentContext!);
|
||||
provider.getDocProfile();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
actions: [
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
appState.isLogged = false;
|
||||
Navigator.pushReplacementNamed(context, AppRoutes.login, arguments: false);
|
||||
},
|
||||
icon: const Icon(
|
||||
Icons.logout,
|
||||
color: Colors.white,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
body: Container(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
showHomeButton(),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget showHomeButton() {
|
||||
return Container(
|
||||
width: 120,
|
||||
height: 120,
|
||||
child: HomePatientCard(
|
||||
gradient: const LinearGradient(
|
||||
begin: Alignment(-1.0, -2.0),
|
||||
end: Alignment(1.0, 2.0),
|
||||
colors: [
|
||||
Colors.red,
|
||||
Color(0xFFAD3B3B),
|
||||
],
|
||||
),
|
||||
backgroundIconColor: Colors.white12,
|
||||
cardIcon: DoctorApp.search,
|
||||
textColor: Colors.white,
|
||||
text: "Search Patient",
|
||||
onTap: () {
|
||||
Navigator.pushNamed(context, AppRoutes.searchPatient);
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class HomePageCard extends StatelessWidget {
|
||||
const HomePageCard(
|
||||
{this.hasBorder = false,
|
||||
required this.imageName,
|
||||
required this.child,
|
||||
required this.onTap,
|
||||
required this.color,
|
||||
this.opacity = 0.4,
|
||||
required this.margin,
|
||||
required this.width,
|
||||
required this.gradient});
|
||||
|
||||
final bool hasBorder;
|
||||
final String imageName;
|
||||
final Widget child;
|
||||
final GestureTapCallback onTap;
|
||||
final Color color;
|
||||
final double opacity;
|
||||
final double width;
|
||||
final EdgeInsets margin;
|
||||
final LinearGradient gradient;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return InkWell(
|
||||
onTap: onTap,
|
||||
child: Container(
|
||||
width: width,
|
||||
margin: this.margin,
|
||||
decoration: BoxDecoration(
|
||||
gradient: gradient,
|
||||
borderRadius: BorderRadius.circular(20.0),
|
||||
border: hasBorder ? Border.all(width: 1.0, color: const Color(0xffcccccc)) : Border.all(width: 0.0, color: Colors.transparent),
|
||||
image: imageName != null
|
||||
? DecorationImage(
|
||||
image: AssetImage('assets/images/patient/ucaf.png'),
|
||||
fit: BoxFit.cover,
|
||||
colorFilter: new ColorFilter.mode(Colors.black.withOpacity(0.2), BlendMode.dstIn),
|
||||
)
|
||||
: null,
|
||||
),
|
||||
child: child,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,118 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hmg_nurses/classes/size_config.dart';
|
||||
import 'package:hmg_nurses/ui/dashboard/widgets/home_page_card.dart';
|
||||
|
||||
class HomePatientCard extends StatelessWidget {
|
||||
final Color? backgroundColor;
|
||||
final IconData? cardIcon;
|
||||
final String? cardIconImage;
|
||||
final Color? backgroundIconColor;
|
||||
final String? text;
|
||||
final Color? textColor;
|
||||
final VoidCallback? onTap;
|
||||
final double iconSize;
|
||||
final LinearGradient? gradient;
|
||||
|
||||
HomePatientCard({
|
||||
this.backgroundColor,
|
||||
this.backgroundIconColor,
|
||||
this.cardIcon,
|
||||
this.cardIconImage,
|
||||
this.text,
|
||||
this.textColor,
|
||||
this.onTap,
|
||||
this.iconSize = 30,
|
||||
this.gradient,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
double width = SizeConfig.heightMultiplier! *
|
||||
(SizeConfig.isHeightVeryShort
|
||||
? 16
|
||||
: SizeConfig.isHeightLarge
|
||||
? 15
|
||||
: 13);
|
||||
return HomePageCard(
|
||||
color: backgroundColor??Colors.black,
|
||||
width: width,
|
||||
gradient: gradient??LinearGradient(colors: []),
|
||||
margin: EdgeInsets.all(SizeConfig.widthMultiplier! * 1.121),
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(8),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Expanded(
|
||||
child: Stack(
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 18, left: 10),
|
||||
color: Colors.transparent,
|
||||
child: cardIcon != null
|
||||
? Icon(
|
||||
cardIcon,
|
||||
size: iconSize * 2,
|
||||
color: backgroundIconColor,
|
||||
)
|
||||
: IconButton(
|
||||
icon: Image.asset(
|
||||
'assets/images/patient/ucaf.png',
|
||||
width: iconSize * 2,
|
||||
height: iconSize * 2,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
iconSize: iconSize * 2,
|
||||
color: backgroundIconColor,
|
||||
onPressed: () => null,
|
||||
),
|
||||
),
|
||||
Container(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
cardIcon != null
|
||||
? Icon(
|
||||
cardIcon,
|
||||
size: SizeConfig.getWidthMultiplier(width: width) * 30,
|
||||
color: textColor,
|
||||
)
|
||||
: Image.asset(
|
||||
cardIconImage!,
|
||||
height: iconSize,
|
||||
width: iconSize,
|
||||
),
|
||||
SizedBox(
|
||||
height: 4,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Container(
|
||||
child: Text(
|
||||
text!,
|
||||
textAlign: TextAlign.start,
|
||||
style: TextStyle(
|
||||
color: textColor,
|
||||
letterSpacing: -0.33,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: SizeConfig.getTextMultiplierBasedOnWidth(width: width) * (SizeConfig.isHeightVeryShort ? 11 : 10),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
hasBorder: false,
|
||||
onTap: onTap!,
|
||||
imageName: '',
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -1,141 +0,0 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:hmg_nurses/base/base_vm.dart';
|
||||
import 'package:hmg_nurses/classes/enums.dart';
|
||||
import 'package:hmg_nurses/classes/utils.dart';
|
||||
import 'package:hmg_nurses/dialogs/otp_dialog.dart';
|
||||
import 'package:hmg_nurses/generated/locale_keys.g.dart';
|
||||
import 'package:local_auth/local_auth.dart';
|
||||
|
||||
class LoginViewModel extends BaseViewModel {
|
||||
bool isLogin = false;
|
||||
bool unverified = false;
|
||||
bool isFromLogin = false;
|
||||
APPSTATUS appStatus = APPSTATUS.loading;
|
||||
String localToken = "";
|
||||
|
||||
String nurseProfile = "";
|
||||
|
||||
final LocalAuthentication auth = LocalAuthentication();
|
||||
late List<BiometricType> _availableBiometrics;
|
||||
|
||||
LoginViewModel();
|
||||
|
||||
/// get type name based on id.
|
||||
getType(type) {
|
||||
switch (type) {
|
||||
case 1:
|
||||
return LocaleKeys.sms.tr();
|
||||
case 3:
|
||||
return LocaleKeys.fingerPrint.tr();
|
||||
case 4:
|
||||
return LocaleKeys.face.tr();
|
||||
case 2:
|
||||
return LocaleKeys.whatsapp.tr();
|
||||
default:
|
||||
return LocaleKeys.sms.tr();
|
||||
}
|
||||
}
|
||||
|
||||
/// ask user to add his biometric
|
||||
showIOSAuthMessages() async {
|
||||
try {
|
||||
await auth.authenticate(
|
||||
localizedReason: 'Scan your fingerprint to authenticate',
|
||||
);
|
||||
} on PlatformException catch (e) {
|
||||
if (kDebugMode) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// check specific biometric if it available or not
|
||||
Future<bool> checkIfBiometricAvailable(BiometricType biometricType) async {
|
||||
bool isAvailable = false;
|
||||
await _getAvailableBiometrics();
|
||||
if (_availableBiometrics != null) {
|
||||
for (var i = 0; i < _availableBiometrics.length; i++) {
|
||||
if (biometricType == _availableBiometrics[i]) isAvailable = true;
|
||||
}
|
||||
}
|
||||
return isAvailable;
|
||||
}
|
||||
|
||||
/// get all available biometric on the device for local Auth service
|
||||
Future<void> _getAvailableBiometrics() async {
|
||||
try {
|
||||
_availableBiometrics = await auth.getAvailableBiometrics();
|
||||
} on PlatformException catch (e) {
|
||||
if (kDebugMode) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// determine the status of the app
|
||||
APPSTATUS get status {
|
||||
if (state == ViewState.busy) {
|
||||
appStatus = APPSTATUS.loading;
|
||||
} else {
|
||||
if (nurseProfile != null) {
|
||||
appStatus = APPSTATUS.authenticated;
|
||||
} else if (unverified) {
|
||||
appStatus = APPSTATUS.unverified;
|
||||
} else if (isLogin) {
|
||||
appStatus = APPSTATUS.authenticated;
|
||||
} else {
|
||||
appStatus = APPSTATUS.unAuthenticated;
|
||||
}
|
||||
}
|
||||
return appStatus;
|
||||
}
|
||||
|
||||
setAppStatus(APPSTATUS status) {
|
||||
appStatus = status;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
setUnverified(bool unverified, {bool isFromLogin = false}) {
|
||||
this.unverified = unverified;
|
||||
this.isFromLogin = isFromLogin;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
/// logout function
|
||||
logout({bool isFromLogin = false}) async {
|
||||
// localToken = "";
|
||||
// String lang = await sharedPref.getString(APP_Language);
|
||||
// await Utils.clearSharedPref();
|
||||
// doctorProfile = null;
|
||||
// sharedPref.setString(APP_Language, lang);
|
||||
// deleteUser();
|
||||
// await getDeviceInfoFromFirebase();
|
||||
// this.isFromLogin = isFromLogin;
|
||||
// appStatus = APPSTATUS.unAuthenticated;
|
||||
// setState(ViewState.Idle);
|
||||
}
|
||||
|
||||
deleteUser() {
|
||||
// user = null;
|
||||
// unverified = false;
|
||||
// isLogin = false;
|
||||
}
|
||||
|
||||
startSMSService(AuthMethodTypes type, {isSilentLogin = false, required BuildContext context}) {
|
||||
OtpDialog(
|
||||
type: 1,
|
||||
mobileNo: 0504278212,
|
||||
onSuccess: (String otpCode, TextEditingController pinPut) {
|
||||
Utils.showLoading();
|
||||
//TODO: API CALL
|
||||
// performDirectApiCall(_title, _icon, _flag, value);
|
||||
},
|
||||
onFailure: () => Navigator.pop(context),
|
||||
onResendCode: () {})
|
||||
.displayDialog(context);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:hmg_nurses/classes/date-utils.dart';
|
||||
import 'package:hmg_nurses/extensions/int_extensions.dart';
|
||||
import 'package:hmg_nurses/extensions/string_extensions.dart';
|
||||
import 'package:hmg_nurses/model/patient/patient_file_information_prm_list.dart';
|
||||
import 'package:hmg_nurses/ui/patient/widgets/grid/profile_gird_for_search.dart';
|
||||
import 'package:hmg_nurses/ui/patient/widgets/patient_profile_header.dart';
|
||||
import 'package:hmg_nurses/widgets/app_bar_widget.dart';
|
||||
import 'package:hmg_nurses/widgets/circular_avatar.dart';
|
||||
import 'package:hmg_nurses/widgets/commen/cusom_row.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class PatientProfilePage extends StatelessWidget {
|
||||
late GetPatientFileInformationPrmList patientProfile;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
patientProfile = ModalRoute.of(context)!.settings.arguments as GetPatientFileInformationPrmList;
|
||||
return Scaffold(
|
||||
appBar: AppBarWidget(
|
||||
context,
|
||||
title: "${patientProfile.firstName!} ${patientProfile.lastName!}",
|
||||
actions: [
|
||||
SvgPicture.asset(
|
||||
patientProfile.gender == 1 ? "assets/images/svgs/male.svg" : "assets/images/svgs/female.svg",
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () async {
|
||||
String url = "tel://${patientProfile.mobileNumber}";
|
||||
if (!await launchUrl(Uri.parse(url))) {
|
||||
throw 'Could not launch $url';
|
||||
}
|
||||
},
|
||||
icon: const Icon(Icons.call),
|
||||
),
|
||||
],
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
child: Column(
|
||||
children: [
|
||||
PatientProfileHeader(patientProfile),
|
||||
Container(
|
||||
width: double.infinity,
|
||||
margin: const EdgeInsets.all(21),
|
||||
child: ProfileGridForSearch(
|
||||
patient: patientProfile,
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,47 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:hmg_nurses/model/patient/patient_file_information_prm_list.dart';
|
||||
import 'package:hmg_nurses/provider/patient_provider_model.dart';
|
||||
import 'package:hmg_nurses/ui/patient/widgets/patient_profile_header.dart';
|
||||
import 'package:hmg_nurses/widgets/app_bar_widget.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class VitalSignsPage extends StatelessWidget {
|
||||
late GetPatientFileInformationPrmList patientProfile;
|
||||
late PatientProviderModel provider;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
patientProfile = ModalRoute.of(context)!.settings.arguments as GetPatientFileInformationPrmList;
|
||||
provider = context.read<PatientProviderModel>();
|
||||
provider.fetchVitalSignsHistory(patientProfile);
|
||||
return Scaffold(
|
||||
appBar: AppBarWidget(
|
||||
context,
|
||||
title: "${patientProfile.firstName!} ${patientProfile.lastName!}",
|
||||
actions: [
|
||||
SvgPicture.asset(
|
||||
patientProfile.gender == 1 ? "assets/images/svgs/male.svg" : "assets/images/svgs/female.svg",
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () async {
|
||||
String url = "tel://${patientProfile.mobileNumber}";
|
||||
if (!await launchUrl(Uri.parse(url))) {
|
||||
throw 'Could not launch $url';
|
||||
}
|
||||
},
|
||||
icon: const Icon(Icons.call),
|
||||
),
|
||||
],
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
child: Column(
|
||||
children: [
|
||||
PatientProfileHeader(patientProfile),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:hmg_nurses/classes/colors.dart';
|
||||
import 'package:hmg_nurses/provider/patient_provider_model.dart';
|
||||
import 'package:hmg_nurses/widgets/app_bar_widget.dart';
|
||||
import 'package:hmg_nurses/widgets/button/default_button.dart';
|
||||
import 'package:hmg_nurses/widgets/input_widget.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class SearchPatientPage extends StatelessWidget {
|
||||
var searchController = TextEditingController();
|
||||
|
||||
PatientProviderModel? provider;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
provider = context.read<PatientProviderModel>();
|
||||
return Scaffold(
|
||||
appBar: AppBarWidget(context, title: "Search Patients", isNeedLeading: false, actions: [
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
icon: const Icon(Icons.close),
|
||||
),
|
||||
]),
|
||||
body: Container(
|
||||
padding: const EdgeInsets.all(21),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
CustomTextField(
|
||||
"Search By Patient Id",
|
||||
searchController,
|
||||
inputFormatters: [
|
||||
FilteringTextInputFormatter.allow(
|
||||
RegExp("[0-9]"),
|
||||
),
|
||||
],
|
||||
),
|
||||
DefaultButton(
|
||||
"Search",
|
||||
() async {
|
||||
// provider.checkLastSession();
|
||||
if (searchController.text.length > 0) {
|
||||
provider?.searchPatient(int.parse(searchController.text));
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,96 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hmg_nurses/config/routes.dart';
|
||||
import 'package:hmg_nurses/extensions/int_extensions.dart';
|
||||
import 'package:hmg_nurses/provider/patient_provider_model.dart';
|
||||
import 'package:hmg_nurses/ui/patient/widgets/patient_card.dart';
|
||||
import 'package:hmg_nurses/widgets/app_bar_widget.dart';
|
||||
import 'package:hmg_nurses/widgets/errors/error_message.dart';
|
||||
import 'package:hmg_nurses/widgets/input_widget.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class SearchedPatientListPage extends StatelessWidget {
|
||||
int? patientId;
|
||||
late PatientProviderModel provider;
|
||||
var searchController = TextEditingController();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
patientId ??= ModalRoute.of(context)!.settings.arguments as int;
|
||||
provider = context.read<PatientProviderModel>();
|
||||
return Scaffold(
|
||||
appBar: AppBarWidget(
|
||||
context,
|
||||
title: "Search For $patientId",
|
||||
),
|
||||
body: Container(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
padding: EdgeInsets.all(21),
|
||||
child: Column(
|
||||
children: [
|
||||
CustomTextField(
|
||||
"Search Name, Medical File, Phone Number",
|
||||
searchController,
|
||||
suffixIcon: Icons.filter_alt,
|
||||
onChange: (v) {
|
||||
provider.filterPatient(v);
|
||||
},
|
||||
),
|
||||
21.height,
|
||||
Expanded(
|
||||
child: Consumer<PatientProviderModel>(
|
||||
builder: (_, model, widget) {
|
||||
return model.searchedPatient.getPatientFileInformationPrmList!.isEmpty
|
||||
? ErrorMessage(errorMessage: "No Data Found")
|
||||
: Column(
|
||||
children: [
|
||||
model.filteredPatientsList.isEmpty
|
||||
? ErrorMessage(errorMessage: "No Data")
|
||||
: Expanded(
|
||||
child: SizedBox(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
child: ListView.separated(
|
||||
itemBuilder: (context, index) {
|
||||
// String nationalityName = model.filteredPatientsList[index].nationalityName != null
|
||||
// ? model.filteredPatientsList[index].nationalityName.trim()
|
||||
// : model.filteredPatientsList[index].nationality != null
|
||||
// ? model.filteredPatientsList[index].nationality.trim()
|
||||
// : model.filteredPatientsList[index].nationalityId != null
|
||||
// ? model.filteredPatientsList[index].nationalityId
|
||||
// : "";
|
||||
return PatientCard(
|
||||
name: "${model.filteredPatientsList[index].firstName!} ${model.filteredPatientsList[index].lastName!}",
|
||||
gender: model.filteredPatientsList[index].gender??1 ,
|
||||
nationalityName: (model.filteredPatientsList[index].nationalityId != null) ? model.filteredPatientsList[index].nationalityId! : "",
|
||||
nationalityFlagURL: (model.filteredPatientsList[index].nationalityId != null) ? model.filteredPatientsList[index].nationalityFlagUrl! : "",
|
||||
fileNumber: model.filteredPatientsList[index].patientId.toString(),
|
||||
dateofBirth: model.filteredPatientsList[index].dateofBirth!,
|
||||
// arrivedOn: "",
|
||||
// appointmentDate: "",
|
||||
// admissionDate: "",
|
||||
// clinicDescription: "",
|
||||
// roomId: "",
|
||||
onTap: () {
|
||||
Navigator.pushNamed(context, AppRoutes.patientProfile, arguments: model.filteredPatientsList[index]);
|
||||
},
|
||||
);
|
||||
},
|
||||
separatorBuilder: (context, index) {
|
||||
return 12.height;
|
||||
},
|
||||
itemCount: model.filteredPatientsList.length,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||