Merge branch 'update_flutter_3.24_vida_plus_episode' of http://34.17.52.180/Haroon6138/doctor_app_flutter into update_flutter_3.16.0_merge_vida_plus
# Conflicts: # pubspec.yamlupdate_flutter_3.16.0_merge_vida_plus
@ -0,0 +1,28 @@
|
|||||||
|
# This file configures the analyzer, which statically analyzes Dart code to
|
||||||
|
# check for errors, warnings, and lints.
|
||||||
|
#
|
||||||
|
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
|
||||||
|
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
|
||||||
|
# invoked from the command line by running `flutter analyze`.
|
||||||
|
|
||||||
|
# The following line activates a set of recommended lints for Flutter apps,
|
||||||
|
# packages, and plugins designed to encourage good coding practices.
|
||||||
|
include: package:flutter_lints/flutter.yaml
|
||||||
|
|
||||||
|
linter:
|
||||||
|
# The lint rules applied to this project can be customized in the
|
||||||
|
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
|
||||||
|
# included above or to enable additional rules. A list of all available lints
|
||||||
|
# and their documentation is published at https://dart.dev/lints.
|
||||||
|
#
|
||||||
|
# Instead of disabling a lint rule for the entire project in the
|
||||||
|
# section below, it can also be suppressed for a single line of code
|
||||||
|
# or a specific dart file by using the `// ignore: name_of_lint` and
|
||||||
|
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
|
||||||
|
# producing the lint.
|
||||||
|
rules:
|
||||||
|
# avoid_print: false # Uncomment to disable the `avoid_print` rule
|
||||||
|
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
|
||||||
|
|
||||||
|
# Additional information about this file can be found at
|
||||||
|
# https://dart.dev/guides/language/analysis-options
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M10.6249 6.66671C10.6249 6.32153 10.3451 6.04171 9.99992 6.04171C9.65474 6.04171 9.37492 6.32153 9.37492 6.66671V9.37504H6.66659C6.32141 9.37504 6.04159 9.65486 6.04159 10C6.04159 10.3452 6.32141 10.625 6.66659 10.625H9.37492V13.3334C9.37492 13.6786 9.65474 13.9584 9.99992 13.9584C10.3451 13.9584 10.6249 13.6786 10.6249 13.3334V10.625H13.3333C13.6784 10.625 13.9583 10.3452 13.9583 10C13.9583 9.65486 13.6784 9.37504 13.3333 9.37504H10.6249V6.66671Z" fill="#2B353E"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0476 1.45837H9.95227C8.12669 1.45836 6.69279 1.45835 5.57327 1.60887C4.42606 1.76311 3.51585 2.08564 2.80068 2.8008C2.08551 3.51597 1.76299 4.42618 1.60875 5.57339C1.45823 6.69291 1.45824 8.12681 1.45825 9.9524V10.0477C1.45824 11.8733 1.45823 13.3072 1.60875 14.4267C1.76299 15.5739 2.08551 16.4841 2.80068 17.1993C3.51585 17.9144 4.42606 18.237 5.57327 18.3912C6.69278 18.5417 8.12667 18.5417 9.95225 18.5417H10.0476C11.8731 18.5417 13.3071 18.5417 14.4266 18.3912C15.5738 18.237 16.484 17.9144 17.1992 17.1993C17.9143 16.4841 18.2369 15.5739 18.3911 14.4267C18.5416 13.3072 18.5416 11.8733 18.5416 10.0477V9.9524C18.5416 8.12682 18.5416 6.6929 18.3911 5.57339C18.2369 4.42618 17.9143 3.51597 17.1992 2.8008C16.484 2.08564 15.5738 1.76311 14.4266 1.60887C13.3071 1.45835 11.8732 1.45836 10.0476 1.45837ZM3.68456 3.68469C4.12877 3.24048 4.73123 2.98333 5.73983 2.84772C6.76641 2.7097 8.11627 2.70837 9.99992 2.70837C11.8836 2.70837 13.2334 2.7097 14.26 2.84772C15.2686 2.98333 15.8711 3.24048 16.3153 3.68469C16.7595 4.12889 17.0166 4.73135 17.1522 5.73995C17.2903 6.76654 17.2916 8.1164 17.2916 10C17.2916 11.8837 17.2903 13.2335 17.1522 14.2601C17.0166 15.2687 16.7595 15.8712 16.3153 16.3154C15.8711 16.7596 15.2686 17.0168 14.26 17.1524C13.2334 17.2904 11.8836 17.2917 9.99992 17.2917C8.11627 17.2917 6.76641 17.2904 5.73983 17.1524C4.73123 17.0168 4.12877 16.7596 3.68456 16.3154C3.24036 15.8712 2.9832 15.2687 2.8476 14.2601C2.70958 13.2335 2.70825 11.8837 2.70825 10C2.70825 8.1164 2.70958 6.76654 2.8476 5.73995C2.9832 4.73135 3.24036 4.12889 3.68456 3.68469Z" fill="#2B353E"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M11.955 2.55763C8.35771 1.59711 4.67798 3.31429 3.05104 6.47547L4.24455 6.54813C4.58909 6.56911 4.85139 6.86542 4.83042 7.20996C4.80944 7.5545 4.51313 7.8168 4.16859 7.79582L2.07682 7.66848C1.87853 7.65641 1.69779 7.55079 1.58993 7.38396C1.48208 7.21713 1.45995 7.00897 1.53034 6.8232C3.14318 2.56627 7.76997 0.146382 12.2775 1.34994C17.0786 2.6319 19.936 7.5428 18.6506 12.3234C17.3654 17.1031 12.4283 19.9315 7.62802 18.6497C4.06206 17.6976 1.57008 14.7447 1.04876 11.3312C0.996642 10.99 1.23101 10.6711 1.57223 10.619C1.91345 10.5669 2.23231 10.8012 2.28443 11.1425C2.73296 14.0794 4.87811 16.6217 7.95049 17.442C12.0909 18.5476 16.339 16.1065 17.4435 11.9988C18.5478 7.89199 16.0946 3.66295 11.955 2.55763Z" fill="#2E303A"/>
|
||||||
|
<path d="M10.6249 6.66651C10.6249 6.32133 10.3451 6.04151 9.99993 6.04151C9.65475 6.04151 9.37493 6.32133 9.37493 6.66651V9.99984C9.37493 10.1656 9.44077 10.3246 9.55798 10.4418L11.2247 12.1085C11.4687 12.3525 11.8645 12.3525 12.1085 12.1085C12.3526 11.8644 12.3526 11.4686 12.1085 11.2246L10.6249 9.74096V6.66651Z" fill="#2E303A"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,5 @@
|
|||||||
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M7.91667 14.375C7.57149 14.375 7.29167 14.0951 7.29167 13.75L7.29167 8.74996C7.29167 8.40478 7.57149 8.12496 7.91667 8.12496C8.26184 8.12496 8.54167 8.40478 8.54167 8.74996L8.54167 13.75C8.54167 14.0951 8.26184 14.375 7.91667 14.375Z" fill="#D02127"/>
|
||||||
|
<path d="M12.7083 8.74996C12.7083 8.40478 12.4285 8.12496 12.0833 8.12496C11.7382 8.12496 11.4583 8.40478 11.4583 8.74996V13.75C11.4583 14.0951 11.7382 14.375 12.0833 14.375C12.4285 14.375 12.7083 14.0951 12.7083 13.75V8.74996Z" fill="#D02127"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0552 1.04163H10.0018C9.58075 1.04161 9.22356 1.04161 8.92715 1.06859C8.61261 1.09722 8.31962 1.15924 8.03631 1.30989C7.92449 1.36934 7.8178 1.43797 7.71732 1.51505C7.46273 1.71036 7.28477 1.95124 7.12826 2.22557C6.98076 2.48408 6.83263 2.80908 6.65799 3.19223L6.30879 3.95829H2.5C2.15482 3.95829 1.875 4.23812 1.875 4.58329C1.875 4.92847 2.15482 5.20829 2.5 5.20829H3.16161L3.63194 12.9992C3.6948 14.0406 3.74469 14.8669 3.84847 15.5271C3.95489 16.204 4.12601 16.7678 4.46926 17.261C4.78326 17.7122 5.18781 18.0931 5.65712 18.3793C6.17013 18.6922 6.74321 18.8291 7.42534 18.8945C8.09048 18.9583 8.91832 18.9583 9.96154 18.9583H10.0263C11.0681 18.9583 11.895 18.9583 12.5593 18.8946C13.2407 18.8293 13.8131 18.6927 14.3258 18.3804C14.7948 18.0947 15.1992 17.7145 15.5133 17.264C15.8567 16.7716 16.0283 16.2087 16.1355 15.5327C16.2401 14.8735 16.2911 14.0483 16.3554 13.0084L16.8376 5.20829H17.5C17.8452 5.20829 18.125 4.92847 18.125 4.58329C18.125 4.23812 17.8452 3.95829 17.5 3.95829H13.7714L13.3618 3.11338C13.1826 2.74382 13.0306 2.43011 12.8809 2.18069C12.722 1.91594 12.5433 1.68392 12.2918 1.4963C12.1924 1.42216 12.0871 1.35621 11.977 1.2991C11.6985 1.15458 11.4117 1.09503 11.1042 1.06752C10.8145 1.04161 10.4658 1.04162 10.0552 1.04163ZM15.5852 5.20829H13.3935C13.3847 5.20848 13.3758 5.20848 13.3669 5.20829H6.72416C6.715 5.2085 6.70582 5.2085 6.69663 5.20829H4.41389L4.87772 12.8916C4.94298 13.9725 4.98992 14.739 5.0833 15.3329C5.1751 15.9169 5.30366 16.2717 5.49526 16.547C5.71011 16.8557 5.9869 17.1163 6.30801 17.3122C6.59437 17.4868 6.95632 17.5938 7.54471 17.6502C8.14321 17.7076 8.91114 17.7083 9.99397 17.7083C11.0754 17.7083 11.8423 17.7076 12.44 17.6503C13.0277 17.594 13.3893 17.4873 13.6754 17.3129C13.9963 17.1174 14.2731 16.8573 14.488 16.5491C14.6796 16.2742 14.8085 15.9199 14.901 15.3368C14.9951 14.7437 15.043 13.9784 15.1098 12.899L15.5852 5.20829ZM12.3822 3.95829H7.68253L7.78421 3.73524C7.97304 3.32098 8.098 3.04828 8.21397 2.84502C8.32406 2.65207 8.40305 2.56445 8.47817 2.50682C8.52384 2.47178 8.57234 2.44059 8.62316 2.41356C8.70676 2.36911 8.81925 2.33358 9.04048 2.31344C9.27353 2.29222 9.5735 2.29163 10.0288 2.29163C10.4729 2.29163 10.7654 2.2922 10.9928 2.31255C11.2087 2.33185 11.319 2.36592 11.4014 2.40866C11.4514 2.43462 11.4992 2.4646 11.5444 2.4983C11.6188 2.55378 11.6976 2.63819 11.8091 2.82399C11.9267 3.01981 12.0547 3.28268 12.2485 3.68236L12.3822 3.95829Z" fill="#D02127"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.0 KiB |
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.6701 0.495221C12.6572 -0.0918746 13.8747 -0.110273 14.8787 0.447126C15.2952 0.678342 15.675 1.06666 16.24 1.64419L16.3934 1.80091C16.9604 2.37969 17.3398 2.76705 17.5651 3.19051C18.1056 4.20643 18.088 5.43543 17.5183 6.43501C17.2808 6.85167 16.8903 7.22757 16.3071 7.78898L8.29152 15.5093C7.14082 16.618 6.43156 17.3014 5.53412 17.6519C4.63538 18.0029 3.65817 17.9772 2.07716 17.9356L1.67137 17.9249C1.43966 17.9189 1.20543 17.9129 1.01203 17.8806C0.789927 17.8436 0.52612 17.7584 0.317414 17.5215C0.110574 17.2868 0.0574955 17.0159 0.0450756 16.793C0.0340941 16.596 0.0525398 16.3599 0.0710769 16.1227L0.105174 15.685C0.21291 14.2995 0.27877 13.4525 0.613206 12.6828C0.948079 11.912 1.52015 11.2924 2.45354 10.2814L10.3439 1.73254C10.8921 1.13821 11.2606 0.73876 11.6701 0.495221ZM14.2719 1.54C13.6572 1.19868 12.9141 1.20973 12.309 1.56958C12.077 1.70753 11.8391 1.9556 11.1874 2.66174L11.1194 2.73538L15.3547 6.97069L15.3617 6.96398C16.0522 6.29893 16.296 6.05516 16.4323 5.81608C16.7896 5.18915 16.8008 4.41535 16.4615 3.77762C16.3321 3.53437 16.0952 3.28325 15.4243 2.5978C14.7524 1.91149 14.5076 1.67083 14.2719 1.54ZM3.45048 11.0443L10.2709 3.65466L14.4543 7.83799L7.5253 14.5117C6.23985 15.7498 5.71585 16.239 5.07935 16.4876C4.44424 16.7356 3.73726 16.7285 1.97083 16.6823L1.7375 16.6762C1.60457 16.6728 1.49928 16.67 1.40888 16.6652C1.36203 16.6628 1.32351 16.66 1.29159 16.6569C1.29192 16.5567 1.3021 16.415 1.31986 16.187L1.34236 15.8982C1.46224 14.3595 1.5188 13.7353 1.75968 13.1809C2.00008 12.6275 2.41374 12.1675 3.45048 11.0443Z" fill="#2B353E"/>
|
||||||
|
<path d="M10.6668 16.7083C10.3216 16.7083 10.0418 16.9881 10.0418 17.3333C10.0418 17.6785 10.3216 17.9583 10.6668 17.9583H17.3334C17.6786 17.9583 17.9584 17.6785 17.9584 17.3333C17.9584 16.9881 17.6786 16.7083 17.3334 16.7083H10.6668Z" fill="#2B353E"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.67 0.495221C12.6572 -0.0918746 13.8747 -0.110273 14.8787 0.447126C15.2951 0.678342 15.675 1.06666 16.24 1.64419L16.3934 1.80091C16.9603 2.37969 17.3398 2.76705 17.5651 3.19051C18.1055 4.20643 18.0879 5.43543 17.5183 6.43501C17.2808 6.85167 16.8903 7.22757 16.307 7.78898L8.29149 15.5093C7.14079 16.618 6.43153 17.3014 5.53409 17.6519C4.63535 18.0029 3.65814 17.9772 2.07713 17.9356L1.67134 17.9249C1.43963 17.9189 1.2054 17.9129 1.012 17.8806C0.789896 17.8436 0.526089 17.7584 0.317383 17.5215C0.110543 17.2868 0.057465 17.0159 0.0450451 16.793C0.0340636 16.596 0.0525093 16.3599 0.0710464 16.1227L0.105143 15.685C0.212879 14.2995 0.27874 13.4525 0.613175 12.6828C0.948048 11.912 1.52012 11.2924 2.45351 10.2814L10.3439 1.73254C10.8921 1.13821 11.2605 0.73876 11.67 0.495221ZM14.2719 1.54C13.6571 1.19868 12.914 1.20973 12.309 1.56958C12.077 1.70753 11.8391 1.9556 11.1874 2.66174L11.1194 2.73538L15.3547 6.97069L15.3617 6.96398C16.0521 6.29893 16.296 6.05516 16.4323 5.81608C16.7896 5.18915 16.8008 4.41535 16.4615 3.77762C16.3321 3.53437 16.0952 3.28325 15.4242 2.5978C14.7524 1.91149 14.5076 1.67083 14.2719 1.54ZM3.45045 11.0443L10.2709 3.65466L14.4542 7.83799L7.52527 14.5117C6.23982 15.7498 5.71582 16.239 5.07932 16.4876C4.44421 16.7356 3.73723 16.7285 1.9708 16.6823L1.73747 16.6762C1.60454 16.6728 1.49925 16.67 1.40885 16.6652C1.362 16.6628 1.32348 16.66 1.29156 16.6569C1.29189 16.5567 1.30207 16.415 1.31983 16.187L1.34233 15.8982C1.46221 14.3595 1.51877 13.7353 1.75964 13.1809C2.00005 12.6275 2.41371 12.1675 3.45045 11.0443Z" fill="#2B353E"/>
|
||||||
|
<path d="M10.6667 16.7083C10.3216 16.7083 10.0417 16.9881 10.0417 17.3333C10.0417 17.6785 10.3216 17.9583 10.6667 17.9583H17.3334C17.6786 17.9583 17.9584 17.6785 17.9584 17.3333C17.9584 16.9881 17.6786 16.7083 17.3334 16.7083H10.6667Z" fill="#2B353E"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.45441 1.79572C4.93855 0.271943 7.16707 0.879232 8.51335 1.89026C8.73484 2.05659 8.88684 2.17042 9 2.24729C9.11316 2.17042 9.26517 2.05659 9.48665 1.89026C10.8329 0.879232 13.0615 0.271943 15.5456 1.79572C17.2633 2.84936 18.2298 5.05026 17.8907 7.57902C17.5499 10.12 15.9052 12.9938 12.4222 15.5718C12.3931 15.5934 12.3642 15.6148 12.3355 15.636C11.126 16.5318 10.3251 17.125 9 17.125C7.67495 17.125 6.87396 16.5318 5.66447 15.636C5.63581 15.6148 5.60691 15.5934 5.57778 15.5718C2.09478 12.9938 0.450122 10.12 0.109332 7.57902C-0.229821 5.05026 0.736704 2.84936 2.45441 1.79572ZM8.86938 2.32783C8.8667 2.32904 8.86718 2.32865 8.87054 2.3273C8.87011 2.3275 8.86972 2.32768 8.86938 2.32783ZM9.12946 2.32729C9.13282 2.32864 9.1333 2.32904 9.13062 2.32783C9.13028 2.32768 9.12989 2.3275 9.12946 2.32729ZM7.76273 2.88979C6.76562 2.14099 5.09326 1.64347 3.10799 2.86123C1.89289 3.60658 1.0612 5.27264 1.34824 7.41286C1.63365 9.54088 3.0396 12.138 6.32144 14.5671C7.63991 15.543 8.12114 15.875 9 15.875C9.87886 15.875 10.3601 15.543 11.6786 14.5671C14.9604 12.138 16.3664 9.54088 16.6518 7.41286C16.9388 5.27264 16.1071 3.60658 14.892 2.86123C12.9067 1.64347 11.2344 2.14099 10.2373 2.88979L10.2198 2.90288C9.99452 3.0721 9.80098 3.21746 9.64616 3.31882C9.56569 3.3715 9.47659 3.42514 9.38411 3.46693C9.29635 3.50659 9.16153 3.55621 9 3.55621C8.83847 3.55621 8.70365 3.50659 8.61589 3.46693C8.52341 3.42514 8.43431 3.3715 8.35384 3.31882C8.19901 3.21745 8.00546 3.07209 7.78012 2.90285L7.76273 2.88979Z" fill="#459BF1"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M2.45416 1.79596C4.93831 0.272187 7.16683 0.879476 8.51311 1.89051C8.73459 2.05683 8.8866 2.17067 8.99975 2.24754C9.11292 2.17067 9.26492 2.05683 9.4864 1.89051C10.8327 0.879476 13.0612 0.272187 15.5454 1.79596C17.2631 2.8496 18.2296 5.0505 17.8904 7.57926C17.5496 10.1202 15.905 12.9941 12.422 15.5721C11.2125 16.4678 10.3248 17.1253 8.99976 17.1253C7.67471 17.1253 6.78702 16.4678 5.57754 15.5721C2.09453 12.9941 0.449878 10.1202 0.109088 7.57926C-0.230066 5.0505 0.73646 2.8496 2.45416 1.79596Z" fill="#459BF1"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 628 B |
@ -0,0 +1,5 @@
|
|||||||
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M9.57578 9.79268C9.5179 9.79175 9.45097 9.79172 9.36841 9.79172C9.02323 9.79172 8.74341 9.5119 8.74341 9.16672C8.74341 8.82155 9.02323 8.54172 9.36841 8.54172L9.39711 8.54172C9.56804 8.54165 9.75287 8.54158 9.90889 8.56255C10.0917 8.58712 10.3251 8.65032 10.5216 8.84682C10.7181 9.04332 10.7813 9.27681 10.8059 9.45958C10.8269 9.61559 10.8268 9.80042 10.8267 9.97135L10.8267 14.1667C10.8267 14.5119 10.5469 14.7917 10.2017 14.7917C9.85656 14.7917 9.57674 14.5119 9.57674 14.1667V10.0001C9.57674 9.91749 9.57671 9.85056 9.57578 9.79268Z" fill="#2B353E"/>
|
||||||
|
<path d="M9.99341 5.83337C9.53317 5.83337 9.16008 6.20647 9.16008 6.66671C9.16008 7.12695 9.53317 7.50004 9.99341 7.50004H10.0009C10.4611 7.50004 10.8342 7.12695 10.8342 6.66671C10.8342 6.20647 10.4611 5.83337 10.0009 5.83337H9.99341Z" fill="#2B353E"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.95227 1.45837H10.0476C11.8732 1.45836 13.3071 1.45835 14.4266 1.60887C15.5738 1.76311 16.484 2.08564 17.1992 2.8008C17.9143 3.51597 18.2369 4.42618 18.3911 5.57339C18.5416 6.6929 18.5416 8.12679 18.5416 9.95237V10.0477C18.5416 11.8733 18.5416 13.3072 18.3911 14.4267C18.2369 15.5739 17.9143 16.4841 17.1992 17.1993C16.484 17.9144 15.5738 18.237 14.4266 18.3912C13.3071 18.5417 11.8732 18.5417 10.0476 18.5417H9.95228C8.1267 18.5417 6.69278 18.5417 5.57327 18.3912C4.42606 18.237 3.51585 17.9144 2.80068 17.1993C2.08551 16.4841 1.76299 15.5739 1.60875 14.4267C1.45823 13.3072 1.45824 11.8733 1.45825 10.0477V9.9524C1.45824 8.12681 1.45823 6.69291 1.60875 5.57339C1.76299 4.42618 2.08551 3.51597 2.80068 2.8008C3.51585 2.08564 4.42606 1.76311 5.57327 1.60887C6.69279 1.45835 8.12669 1.45836 9.95227 1.45837ZM5.73983 2.84772C4.73123 2.98333 4.12877 3.24048 3.68456 3.68469C3.24036 4.12889 2.9832 4.73135 2.8476 5.73995C2.70958 6.76654 2.70825 8.1164 2.70825 10C2.70825 11.8837 2.70958 13.2335 2.8476 14.2601C2.9832 15.2687 3.24036 15.8712 3.68456 16.3154C4.12877 16.7596 4.73123 17.0168 5.73983 17.1524C6.76641 17.2904 8.11627 17.2917 9.99992 17.2917C11.8836 17.2917 13.2334 17.2904 14.26 17.1524C15.2686 17.0168 15.8711 16.7596 16.3153 16.3154C16.7595 15.8712 17.0166 15.2687 17.1522 14.2601C17.2903 13.2335 17.2916 11.8837 17.2916 10C17.2916 8.1164 17.2903 6.76654 17.1522 5.73995C17.0166 4.73135 16.7595 4.12889 16.3153 3.68469C15.8711 3.24048 15.2686 2.98333 14.26 2.84772C13.2334 2.7097 11.8836 2.70837 9.99992 2.70837C8.11627 2.70837 6.76641 2.7097 5.73983 2.84772Z" fill="#2B353E"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@ -0,0 +1,4 @@
|
|||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12.7941 6.92237C13.0273 6.66792 13.0101 6.27257 12.7557 6.03932C12.5012 5.80608 12.1059 5.82327 11.8726 6.07772L7.73038 10.5965L6.10862 8.97477C5.86454 8.73069 5.46881 8.73069 5.22473 8.97477C4.98066 9.21885 4.98066 9.61457 5.22473 9.85865L7.30807 11.942C7.42861 12.0625 7.59316 12.1286 7.76359 12.1249C7.93402 12.1212 8.09554 12.048 8.21073 11.9224L12.7941 6.92237Z" fill="#359846"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.04766 0.458374H8.95236C7.12678 0.458363 5.69288 0.458354 4.57336 0.608869C3.42615 0.763108 2.51594 1.08564 1.80077 1.8008C1.08561 2.51597 0.763077 3.42618 0.608838 4.57339C0.458324 5.69291 0.458333 7.12681 0.458344 8.95239V9.04769C0.458333 10.8733 0.458324 12.3072 0.608838 13.4267C0.763077 14.5739 1.08561 15.4841 1.80077 16.1993C2.51594 16.9144 3.42615 17.237 4.57336 17.3912C5.69287 17.5417 7.12676 17.5417 8.95234 17.5417H9.04765C10.8732 17.5417 12.3071 17.5417 13.4267 17.3912C14.5739 17.237 15.4841 16.9144 16.1992 16.1993C16.9144 15.4841 17.2369 14.5739 17.3912 13.4267C17.5417 12.3072 17.5417 10.8733 17.5417 9.04771V8.9524C17.5417 7.12682 17.5417 5.6929 17.3912 4.57339C17.2369 3.42618 16.9144 2.51597 16.1992 1.8008C15.4841 1.08564 14.5739 0.763108 13.4267 0.608869C12.3071 0.458354 10.8732 0.458363 9.04766 0.458374ZM2.68465 2.68468C3.12886 2.24048 3.73132 1.98333 4.73992 1.84772C5.76651 1.7097 7.11636 1.70837 9.00001 1.70837C10.8837 1.70837 12.2335 1.7097 13.2601 1.84772C14.2687 1.98333 14.8712 2.24048 15.3154 2.68468C15.7596 3.12889 16.0167 3.73135 16.1523 4.73995C16.2903 5.76654 16.2917 7.11639 16.2917 9.00004C16.2917 10.8837 16.2903 12.2335 16.1523 13.2601C16.0167 14.2687 15.7596 14.8712 15.3154 15.3154C14.8712 15.7596 14.2687 16.0168 13.2601 16.1524C12.2335 16.2904 10.8837 16.2917 9.00001 16.2917C7.11636 16.2917 5.76651 16.2904 4.73992 16.1524C3.73132 16.0168 3.12886 15.7596 2.68465 15.3154C2.24045 14.8712 1.98329 14.2687 1.84769 13.2601C1.70967 12.2335 1.70834 10.8837 1.70834 9.00004C1.70834 7.11639 1.70967 5.76654 1.84769 4.73995C1.98329 3.73135 2.24045 3.12889 2.68465 2.68468Z" fill="#359846"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@ -0,0 +1,6 @@
|
|||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M8.655 0.0416262H7.68289C6.05716 0.0416157 4.77679 0.0416073 3.77632 0.168644C2.75217 0.298686 1.92699 0.571419 1.27355 1.18855C0.615066 1.81045 0.319448 2.60386 0.179402 3.58764C0.0439182 4.53937 0.0439303 5.75446 0.0439456 7.28385V10.7161C0.0439303 12.2454 0.0439182 13.4605 0.179402 14.4123C0.319447 15.3961 0.615064 16.1895 1.27356 16.8114C1.927 17.4285 2.75218 17.7012 3.77632 17.8313C4.77679 17.9583 6.05717 17.9583 7.68291 17.9583H8.16895C8.51412 17.9583 8.79395 17.6785 8.79395 17.3333C8.79395 16.9881 8.51412 16.7083 8.16895 16.7083H7.72778C6.04728 16.7083 4.84633 16.7071 3.93378 16.5912C3.03571 16.4772 2.51212 16.2617 2.13181 15.9026C1.75657 15.5482 1.53532 15.0678 1.41693 14.2361C1.29543 13.3826 1.29395 12.2566 1.29395 10.6666V7.33329C1.29395 5.74327 1.29543 4.61727 1.41693 3.7638C1.53532 2.93216 1.75657 2.45173 2.13183 2.09732C2.51213 1.73814 3.03571 1.52272 3.93378 1.40869C4.84634 1.29281 6.04729 1.29163 7.72778 1.29163H8.61011C10.2906 1.29163 11.4916 1.29281 12.4041 1.40869C13.3022 1.52272 13.8258 1.73814 14.2061 2.09732C14.5813 2.45173 14.8026 2.93216 14.921 3.7638C15.0425 4.61727 15.0439 5.74327 15.0439 7.33329V8.16663C15.0439 8.5118 15.3238 8.79163 15.6689 8.79163C16.0141 8.79163 16.2939 8.5118 16.2939 8.16663V7.28387C16.294 5.75447 16.294 4.53937 16.1585 3.58764C16.0184 2.60385 15.7228 1.81045 15.0643 1.18855C14.4109 0.571419 13.5857 0.298687 12.5616 0.168644C11.5611 0.0416073 10.2807 0.0416157 8.655 0.0416262Z" fill="#449BF1"/>
|
||||||
|
<path d="M4.83561 4.20829C4.49043 4.20829 4.21061 4.48811 4.21061 4.83329C4.21061 5.17847 4.49043 5.45829 4.83561 5.45829H11.5023C11.8475 5.45829 12.1273 5.17847 12.1273 4.83329C12.1273 4.48811 11.8475 4.20829 11.5023 4.20829H4.83561Z" fill="#449BF1"/>
|
||||||
|
<path d="M4.21061 8.99996C4.21061 8.65478 4.49043 8.37496 4.83561 8.37496H11.5023C11.8475 8.37496 12.1273 8.65478 12.1273 8.99996C12.1273 9.34514 11.8475 9.62496 11.5023 9.62496H4.83561C4.49043 9.62496 4.21061 9.34514 4.21061 8.99996Z" fill="#449BF1"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.827 10.5902C16.0936 9.85877 14.9051 9.85877 14.1717 10.5902L11.1019 13.6515C10.7762 13.9762 10.5558 14.3913 10.4694 14.8428L10.0711 16.6982C9.91167 17.441 10.5742 18.0942 11.3117 17.9346L13.1822 17.5296C13.6335 17.4436 14.049 17.2243 14.3744 16.8998L17.4078 13.8178C18.14 13.0852 18.1392 11.8988 17.4056 11.1672L16.827 10.5902ZM15.0543 11.4753C15.2999 11.2304 15.6988 11.2304 15.9443 11.4753L16.5229 12.0523C16.7675 12.2962 16.7675 12.691 16.5229 12.9349L13.4899 16.0165C13.341 16.1642 13.1507 16.264 12.9436 16.3026C12.9377 16.3037 12.9317 16.3049 12.9258 16.3062L11.361 16.6449L11.6932 15.0977L11.6964 15.0816C11.735 14.8754 11.8354 14.6853 11.9845 14.5366L15.0543 11.4753Z" fill="#449BF1"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.0001 30.3333C8.084 30.3333 1.66675 23.916 1.66675 16C1.66675 8.08388 8.084 1.66663 16.0001 1.66663C23.9162 1.66663 30.3334 8.08388 30.3334 16C30.3334 23.916 23.9162 30.3333 16.0001 30.3333ZM3.66675 16C3.66675 22.8115 9.18857 28.3333 16.0001 28.3333C19.0459 28.3333 21.8338 27.2292 23.9854 25.3995L6.60053 8.01462C4.7708 10.1663 3.66675 12.9542 3.66675 16ZM25.3996 23.9853C27.2294 21.8336 28.3334 19.0457 28.3334 16C28.3334 9.18845 22.8116 3.66663 16.0001 3.66663C12.9543 3.66663 10.1664 4.77068 8.01474 6.60041L25.3996 23.9853Z" fill="#ADADAD"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 702 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 222 B |
|
After Width: | Height: | Size: 412 B |
@ -0,0 +1,22 @@
|
|||||||
|
export const icons = {
|
||||||
|
chatSend: require('./chat-send.png'),
|
||||||
|
defaultAvatar: require('./default-avatar.png'),
|
||||||
|
locked: require('./locked.png'),
|
||||||
|
more: require('./more.png'),
|
||||||
|
mute: require('./mute.png'),
|
||||||
|
muted: require('./muted.png'),
|
||||||
|
shareOn: require('./share-on.png'),
|
||||||
|
shareOff: require('./share-off.png'),
|
||||||
|
speakerOn: require('./speaker-on.png'),
|
||||||
|
speakerOff: require('./speaker-off.png'),
|
||||||
|
switchCamera: require('./switch-camera.png'),
|
||||||
|
hamburger: require('./hamburger.png'),
|
||||||
|
questionBalloon: require('./question-ballon.png'),
|
||||||
|
talking: require('./talking.png'),
|
||||||
|
unmute: require('./unmute.png'),
|
||||||
|
unlocked: require('./unlocked.png'),
|
||||||
|
videoOn: require('./video-on.png'),
|
||||||
|
videoOff: require('./video-off.png'),
|
||||||
|
};
|
||||||
|
|
||||||
|
export type IconTypes = keyof typeof icons;
|
||||||
|
After Width: | Height: | Size: 376 B |
|
After Width: | Height: | Size: 567 B |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 877 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 384 B |
|
After Width: | Height: | Size: 634 B |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 27 KiB |
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>PreviewsEnabled</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>PreviewsEnabled</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,12 @@
|
|||||||
|
import Flutter
|
||||||
|
import UIKit
|
||||||
|
import XCTest
|
||||||
|
|
||||||
|
class RunnerTests: XCTestCase {
|
||||||
|
|
||||||
|
func testExample() {
|
||||||
|
// If you add code to the Runner application, consider adding tests here.
|
||||||
|
// See https://developer.apple.com/documentation/xctest for more information about using XCTest.
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,130 @@
|
|||||||
|
class AllergiesListVidaPlus {
|
||||||
|
int? allergyID;
|
||||||
|
String? allergyName;
|
||||||
|
List<AllergyReactionDTOs>? allergyReactionDTOs;
|
||||||
|
int? allergyRevisionID;
|
||||||
|
String? allergyTypeCode;
|
||||||
|
int? allergyTypeID;
|
||||||
|
String? allergyTypeName;
|
||||||
|
int? hospitalGroupID;
|
||||||
|
int? hospitalID;
|
||||||
|
bool? isActive;
|
||||||
|
bool? isSnowMedAllergy;
|
||||||
|
String? snowMedCode;
|
||||||
|
String? remark;
|
||||||
|
AllergiesListVidaPlus(
|
||||||
|
{this.allergyID,
|
||||||
|
this.allergyName,
|
||||||
|
this.allergyReactionDTOs,
|
||||||
|
this.allergyRevisionID,
|
||||||
|
this.allergyTypeCode,
|
||||||
|
this.allergyTypeID,
|
||||||
|
this.allergyTypeName,
|
||||||
|
this.hospitalGroupID,
|
||||||
|
this.hospitalID,
|
||||||
|
this.isActive,
|
||||||
|
this.isSnowMedAllergy,
|
||||||
|
this.snowMedCode,
|
||||||
|
this.remark
|
||||||
|
});
|
||||||
|
|
||||||
|
AllergiesListVidaPlus.fromJson(Map<String, dynamic> json) {
|
||||||
|
allergyID = json['allergyID'];
|
||||||
|
allergyName = json['allergyName'];
|
||||||
|
if (json['allergyReactionDTOs'] != null) {
|
||||||
|
allergyReactionDTOs = <AllergyReactionDTOs>[];
|
||||||
|
json['allergyReactionDTOs'].forEach((v) {
|
||||||
|
allergyReactionDTOs!.add(new AllergyReactionDTOs.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
allergyRevisionID = json['allergyRevisionID'];
|
||||||
|
allergyTypeCode = json['allergyTypeCode'];
|
||||||
|
allergyTypeID = json['allergyTypeID'];
|
||||||
|
allergyTypeName = json['allergyTypeName'];
|
||||||
|
hospitalGroupID = json['hospitalGroupID'];
|
||||||
|
hospitalID = json['hospitalID'];
|
||||||
|
isActive = json['isActive'];
|
||||||
|
isSnowMedAllergy = json['isSnowMedAllergy'];
|
||||||
|
snowMedCode = json['snowMedCode'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['allergyID'] = this.allergyID;
|
||||||
|
data['allergyName'] = this.allergyName;
|
||||||
|
if (this.allergyReactionDTOs != null) {
|
||||||
|
data['allergyReactionDTOs'] =
|
||||||
|
this.allergyReactionDTOs!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['allergyRevisionID'] = this.allergyRevisionID;
|
||||||
|
data['allergyTypeCode'] = this.allergyTypeCode;
|
||||||
|
data['allergyTypeID'] = this.allergyTypeID;
|
||||||
|
data['allergyTypeName'] = this.allergyTypeName;
|
||||||
|
data['hospitalGroupID'] = this.hospitalGroupID;
|
||||||
|
data['hospitalID'] = this.hospitalID;
|
||||||
|
data['isActive'] = this.isActive;
|
||||||
|
data['isSnowMedAllergy'] = this.isSnowMedAllergy;
|
||||||
|
data['snowMedCode'] = this.snowMedCode;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class AllergyReactionDTOs {
|
||||||
|
int? allergyReactionID;
|
||||||
|
String? allergyReactionName;
|
||||||
|
int? allergyReactionRevisionID;
|
||||||
|
dynamic? hospitalGroupID;
|
||||||
|
int? hospitalID;
|
||||||
|
bool? isActive;
|
||||||
|
bool? isSelected =false;
|
||||||
|
int? dbCRUDOperation =1;
|
||||||
|
int? pomrid;
|
||||||
|
int? patientID;
|
||||||
|
int? allergyReactionMappingID = 0;
|
||||||
|
int? severity =1;
|
||||||
|
AllergyReactionDTOs(
|
||||||
|
{this.allergyReactionID,
|
||||||
|
this.allergyReactionName,
|
||||||
|
this.allergyReactionRevisionID,
|
||||||
|
this.hospitalGroupID,
|
||||||
|
this.hospitalID,
|
||||||
|
this.isActive,
|
||||||
|
this.isSelected,
|
||||||
|
this.dbCRUDOperation,
|
||||||
|
this.pomrid,
|
||||||
|
this.patientID,
|
||||||
|
this.allergyReactionMappingID,
|
||||||
|
this.severity =1
|
||||||
|
});
|
||||||
|
|
||||||
|
AllergyReactionDTOs.fromJson(Map<String, dynamic> json) {
|
||||||
|
allergyReactionID = json['allergyReactionID'];
|
||||||
|
allergyReactionName = json['allergyReactionName'];
|
||||||
|
allergyReactionRevisionID = json['allergyReactionRevisionID'];
|
||||||
|
hospitalGroupID = json['hospitalGroupID'];
|
||||||
|
hospitalID = json['hospitalID'];
|
||||||
|
isActive = json['isActive'];
|
||||||
|
dbCRUDOperation = json["DbCRUDOperation"];
|
||||||
|
pomrid = json['pomrid'];
|
||||||
|
patientID = json['patientID'];
|
||||||
|
allergyReactionMappingID = json['allergyReactionMappingID'];
|
||||||
|
severity = json['severity'];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['allergyReactionID'] = this.allergyReactionID;
|
||||||
|
data['allergyReactionName'] = this.allergyReactionName;
|
||||||
|
data['allergyReactionRevisionID'] = this.allergyReactionRevisionID;
|
||||||
|
data['hospitalGroupID'] = this.hospitalGroupID;
|
||||||
|
data['hospitalID'] = this.hospitalID;
|
||||||
|
data['isActive'] = this.isActive;
|
||||||
|
data["DbCRUDOperation"] = this.dbCRUDOperation;
|
||||||
|
data['pomrid'] = this.pomrid;
|
||||||
|
data['patientID'] = patientID;
|
||||||
|
data['allergyReactionMappingID'] = this.allergyReactionMappingID;
|
||||||
|
data['severity'] = this.severity;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,128 @@
|
|||||||
|
class PatientAllergiesVidaPlus {
|
||||||
|
int? allergyID;
|
||||||
|
String? allergyName;
|
||||||
|
int? allergyTypeID;
|
||||||
|
String? allergyTypeName;
|
||||||
|
int? hospitalGroupID;
|
||||||
|
int? hospitalID;
|
||||||
|
bool? isActivePatientsAllergy;
|
||||||
|
int? patientID;
|
||||||
|
List<PatientsAllergyReactionsDTOs>? patientsAllergyReactionsDTOs;
|
||||||
|
int? patientsAllergyRevisionID;
|
||||||
|
int? pomrID;
|
||||||
|
String? remark;
|
||||||
|
|
||||||
|
PatientAllergiesVidaPlus(
|
||||||
|
{this.allergyID,
|
||||||
|
this.allergyName,
|
||||||
|
this.allergyTypeID,
|
||||||
|
this.allergyTypeName,
|
||||||
|
this.hospitalGroupID,
|
||||||
|
this.hospitalID,
|
||||||
|
this.isActivePatientsAllergy,
|
||||||
|
this.patientID,
|
||||||
|
this.patientsAllergyReactionsDTOs,
|
||||||
|
this.patientsAllergyRevisionID,
|
||||||
|
this.pomrID,
|
||||||
|
this.remark});
|
||||||
|
|
||||||
|
PatientAllergiesVidaPlus.fromJson(Map<String, dynamic> json) {
|
||||||
|
allergyID = json['allergyID'];
|
||||||
|
allergyName = json['allergyName'];
|
||||||
|
allergyTypeID = json['allergyTypeID'];
|
||||||
|
allergyTypeName = json['allergyTypeName'];
|
||||||
|
hospitalGroupID = json['hospitalGroupID'];
|
||||||
|
hospitalID = json['hospitalID'];
|
||||||
|
isActivePatientsAllergy = json['isActivePatientsAllergy'];
|
||||||
|
patientID = json['patientID'];
|
||||||
|
if (json['patientsAllergyReactionsDTOs'] != null) {
|
||||||
|
patientsAllergyReactionsDTOs = <PatientsAllergyReactionsDTOs>[];
|
||||||
|
json['patientsAllergyReactionsDTOs'].forEach((v) {
|
||||||
|
patientsAllergyReactionsDTOs!
|
||||||
|
.add(new PatientsAllergyReactionsDTOs.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
patientsAllergyRevisionID = json['patientsAllergyRevisionID'];
|
||||||
|
pomrID = json['pomrID'];
|
||||||
|
remark = json['remark'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['allergyID'] = this.allergyID;
|
||||||
|
data['allergyName'] = this.allergyName;
|
||||||
|
data['allergyTypeID'] = this.allergyTypeID;
|
||||||
|
data['allergyTypeName'] = this.allergyTypeName;
|
||||||
|
data['hospitalGroupID'] = this.hospitalGroupID;
|
||||||
|
data['hospitalID'] = this.hospitalID;
|
||||||
|
data['isActivePatientsAllergy'] = this.isActivePatientsAllergy;
|
||||||
|
data['patientID'] = this.patientID;
|
||||||
|
if (this.patientsAllergyReactionsDTOs != null) {
|
||||||
|
data['patientsAllergyReactionsDTOs'] =
|
||||||
|
this.patientsAllergyReactionsDTOs!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['patientsAllergyRevisionID'] = this.patientsAllergyRevisionID;
|
||||||
|
data['pomrID'] = this.pomrID;
|
||||||
|
data['remark'] = this.remark;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class PatientsAllergyReactionsDTOs {
|
||||||
|
int? allergyReactionID;
|
||||||
|
int? allergyReactionMappingID;
|
||||||
|
String? allergyReactionName;
|
||||||
|
int? hospitalGroupID;
|
||||||
|
int? hospitalID;
|
||||||
|
bool? isActive;
|
||||||
|
int? patientID;
|
||||||
|
int? patientsAllergyReactionRevisionID;
|
||||||
|
int? pomrId;
|
||||||
|
int? severity =1;
|
||||||
|
bool? isSelected =true;
|
||||||
|
String? reactionSelection ="";
|
||||||
|
PatientsAllergyReactionsDTOs(
|
||||||
|
{this.allergyReactionID,
|
||||||
|
this.allergyReactionMappingID,
|
||||||
|
this.allergyReactionName,
|
||||||
|
this.hospitalGroupID,
|
||||||
|
this.hospitalID,
|
||||||
|
this.isActive,
|
||||||
|
this.patientID,
|
||||||
|
this.patientsAllergyReactionRevisionID,
|
||||||
|
this.pomrId,
|
||||||
|
this.severity =1,
|
||||||
|
this.isSelected,
|
||||||
|
this.reactionSelection
|
||||||
|
});
|
||||||
|
|
||||||
|
PatientsAllergyReactionsDTOs.fromJson(Map<String, dynamic> json) {
|
||||||
|
allergyReactionID = json['allergyReactionID'];
|
||||||
|
allergyReactionMappingID = json['allergyReactionMappingID'];
|
||||||
|
allergyReactionName = json['allergyReactionName'];
|
||||||
|
hospitalGroupID = json['hospitalGroupID'];
|
||||||
|
hospitalID = json['hospitalID'];
|
||||||
|
isActive = json['isActive'];
|
||||||
|
patientID = json['patientID'];
|
||||||
|
patientsAllergyReactionRevisionID =
|
||||||
|
json['patientsAllergyReactionRevisionID'];
|
||||||
|
pomrId = json['pomrId'];
|
||||||
|
severity = json['severity'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['allergyReactionID'] = this.allergyReactionID;
|
||||||
|
data['allergyReactionMappingID'] = this.allergyReactionMappingID;
|
||||||
|
data['allergyReactionName'] = this.allergyReactionName;
|
||||||
|
data['hospitalGroupID'] = this.hospitalGroupID;
|
||||||
|
data['hospitalID'] = this.hospitalID;
|
||||||
|
data['isActive'] = this.isActive;
|
||||||
|
data['patientID'] = this.patientID;
|
||||||
|
data['patientsAllergyReactionRevisionID'] =
|
||||||
|
this.patientsAllergyReactionRevisionID;
|
||||||
|
data['pomrId'] = this.pomrId;
|
||||||
|
data['severity'] = this.severity;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,92 @@
|
|||||||
|
class FavoriteDiseaseDetails {
|
||||||
|
String? categoryCode;
|
||||||
|
int? categoryId;
|
||||||
|
String? chapterCode;
|
||||||
|
String? codeRange;
|
||||||
|
String? createdBy;
|
||||||
|
String? diseaseType;
|
||||||
|
String? diseases;
|
||||||
|
String? diseasesCode;
|
||||||
|
int? diseasesId;
|
||||||
|
int? favoritesId;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
int? icdId;
|
||||||
|
String? icdSubVersion;
|
||||||
|
String? icdType;
|
||||||
|
String? icdVersion;
|
||||||
|
bool? isDeleted;
|
||||||
|
String? parentDiseasesCode;
|
||||||
|
String? problemCode;
|
||||||
|
String? problemDescription;
|
||||||
|
int? problemMasterId;
|
||||||
|
int? problemMasterRevisionId;
|
||||||
|
String? problemName;
|
||||||
|
String? problemType;
|
||||||
|
String? rowVersion;
|
||||||
|
String? sectionCode;
|
||||||
|
int? specificationId;
|
||||||
|
|
||||||
|
FavoriteDiseaseDetails.fromJson(Map<String, dynamic> json) {
|
||||||
|
categoryCode = json['CategoryCode'];
|
||||||
|
categoryId = json['CategoryId'];
|
||||||
|
chapterCode = json['ChapterCode'];
|
||||||
|
codeRange = json['CodeRange'];
|
||||||
|
createdBy = json['CreatedBy'];
|
||||||
|
diseaseType = json['DiseaseType'];
|
||||||
|
diseases = json['Diseases'];
|
||||||
|
diseasesCode = json['DiseasesCode'];
|
||||||
|
diseasesId = json['DiseasesId'];
|
||||||
|
favoritesId = json['FavoritesId'];
|
||||||
|
hospitalGroupId = json['HospitalGroupID'];
|
||||||
|
hospitalId = json['HospitalID'];
|
||||||
|
icdId = json['IcdId'];
|
||||||
|
icdSubVersion = json['IcdSubVersion'];
|
||||||
|
icdType = json['IcdType'];
|
||||||
|
icdVersion = json['IcdVersion'];
|
||||||
|
isDeleted = json['IsDeleted'];
|
||||||
|
parentDiseasesCode = json['ParentDiseasesCode'];
|
||||||
|
problemCode = json['ProblemCode'];
|
||||||
|
problemDescription = json['ProblemDescription'];
|
||||||
|
problemMasterId = json['ProblemMasterID'];
|
||||||
|
problemMasterRevisionId = json['ProblemMasterRevisionID'];
|
||||||
|
problemName = json['ProblemName'];
|
||||||
|
problemType = json['ProblemType'];
|
||||||
|
rowVersion = json['RowVersion'];
|
||||||
|
sectionCode = json['SectionCode'];
|
||||||
|
specificationId = json['SpecificationId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// toJson method
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'CategoryCode': categoryCode,
|
||||||
|
'CategoryId': categoryId,
|
||||||
|
'ChapterCode': chapterCode,
|
||||||
|
'CodeRange': codeRange,
|
||||||
|
'CreatedBy': createdBy,
|
||||||
|
'DiseaseType': diseaseType,
|
||||||
|
'Diseases': diseases,
|
||||||
|
'DiseasesCode': diseasesCode,
|
||||||
|
'DiseasesId': diseasesId,
|
||||||
|
'FavoritesId': favoritesId,
|
||||||
|
'HospitalGroupID': hospitalGroupId,
|
||||||
|
'HospitalID': hospitalId,
|
||||||
|
'IcdId': icdId,
|
||||||
|
'IcdSubVersion': icdSubVersion,
|
||||||
|
'IcdType': icdType,
|
||||||
|
'IcdVersion': icdVersion,
|
||||||
|
'IsDeleted': isDeleted,
|
||||||
|
'ParentDiseasesCode': parentDiseasesCode,
|
||||||
|
'ProblemCode': problemCode,
|
||||||
|
'ProblemDescription': problemDescription,
|
||||||
|
'ProblemMasterID': problemMasterId,
|
||||||
|
'ProblemMasterRevisionID': problemMasterRevisionId,
|
||||||
|
'ProblemName': problemName,
|
||||||
|
'ProblemType': problemType,
|
||||||
|
'RowVersion': rowVersion,
|
||||||
|
'SectionCode': sectionCode,
|
||||||
|
'SpecificationId': specificationId,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,37 @@
|
|||||||
|
class AuditDiagnosis {
|
||||||
|
String? approvedBy;
|
||||||
|
String? approvedOn;
|
||||||
|
String? createdBy;
|
||||||
|
String? createdOn;
|
||||||
|
String? deletedBy;
|
||||||
|
String? deletedOn;
|
||||||
|
String? deletedRemarks;
|
||||||
|
String? diagnosisType;
|
||||||
|
bool? isEventIdentifiedExternally;
|
||||||
|
bool? isResolved;
|
||||||
|
String? modifiedBy;
|
||||||
|
String? modifiedOn;
|
||||||
|
int? patientId;
|
||||||
|
int? patientProblemRevisionId;
|
||||||
|
String? remarks;
|
||||||
|
String? status;
|
||||||
|
|
||||||
|
AuditDiagnosis.fromJson(Map<String, dynamic> json) {
|
||||||
|
approvedBy = json['approvedBy'];
|
||||||
|
approvedOn = json['approvedOn'];
|
||||||
|
createdBy = json['createdBy'];
|
||||||
|
createdOn = json['createdOn'];
|
||||||
|
deletedBy = json['deletedBy'];
|
||||||
|
deletedOn = json['deletedOn'];
|
||||||
|
deletedRemarks = json['deletedRemarks'];
|
||||||
|
diagnosisType = json['diagnosisType'];
|
||||||
|
isEventIdentifiedExternally = json['isEventIdentifiedExternally'];
|
||||||
|
isResolved = json['isResolved'];
|
||||||
|
modifiedBy = json['modifiedBy'];
|
||||||
|
modifiedOn = json['modifiedOn'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientProblemRevisionId = json['patientProblemRevisionId'];
|
||||||
|
remarks = json['remarks'];
|
||||||
|
status = json['status'];
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
class DiagnosisType {
|
||||||
|
String? diagnosisType;
|
||||||
|
String? name;
|
||||||
|
|
||||||
|
|
||||||
|
DiagnosisType.fromJson(Map<String, dynamic> json) {
|
||||||
|
diagnosisType = json['diagnosisType'] ?? '';
|
||||||
|
name = json['name'] ?? '';
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,287 @@
|
|||||||
|
class PatientPreviousDiagnosis {
|
||||||
|
bool? active;
|
||||||
|
int? admissionId;
|
||||||
|
int? admissionRequestId;
|
||||||
|
int? appointmentId;
|
||||||
|
String? approvedBy;
|
||||||
|
String? approvedOn;
|
||||||
|
int? assessmentId;
|
||||||
|
int? chiefComplainId;
|
||||||
|
int? clinicGroupId;
|
||||||
|
int? clinicId;
|
||||||
|
String? condition;
|
||||||
|
String? createdBy;
|
||||||
|
String? createdOn;
|
||||||
|
String? deletedBy;
|
||||||
|
String? deletedByDoctorName;
|
||||||
|
String? deletedOn;
|
||||||
|
String? deletedRemarks;
|
||||||
|
String? diagnosisType;
|
||||||
|
int? doctorId;
|
||||||
|
int? episodeId;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
dynamic icdCodeDetailsDto;
|
||||||
|
String? icdSubVersion;
|
||||||
|
String? icdType;
|
||||||
|
dynamic icdVersion;
|
||||||
|
String? location;
|
||||||
|
String? loginUserId;
|
||||||
|
String? modifiedBy;
|
||||||
|
String? modifiedOn;
|
||||||
|
String? module;
|
||||||
|
String? parentLocation;
|
||||||
|
int? patientId;
|
||||||
|
dynamic patientProblemChangeHistories;
|
||||||
|
int? patientProblemId;
|
||||||
|
int? patientProblemRevisionId;
|
||||||
|
int? pomrId;
|
||||||
|
bool? previousProblem;
|
||||||
|
int? problemId;
|
||||||
|
String? problemName;
|
||||||
|
String? remarks;
|
||||||
|
bool? resolved;
|
||||||
|
String? selectedCategoryCode;
|
||||||
|
String? selectedChapterCode;
|
||||||
|
String? selectedDisease;
|
||||||
|
String? selectedIcdCode;
|
||||||
|
String? selectedSectionCode;
|
||||||
|
String? status;
|
||||||
|
List<VisitWisePatientDiagnosis>? visitWisePatientDiagnoses;
|
||||||
|
bool? visitWiseSelected;
|
||||||
|
|
||||||
|
PatientPreviousDiagnosis.fromJson(Map<String, dynamic> json) {
|
||||||
|
active = json['active'];
|
||||||
|
admissionId = json['admissionId'];
|
||||||
|
admissionRequestId = json['admissionRequestId'];
|
||||||
|
appointmentId = json['appointmentId'];
|
||||||
|
approvedBy = json['approvedBy'];
|
||||||
|
approvedOn = json['approvedOn'];
|
||||||
|
assessmentId = json['assessmentId'];
|
||||||
|
chiefComplainId = json['chiefComplainId'];
|
||||||
|
clinicGroupId = json['clinicGroupId'];
|
||||||
|
clinicId = json['clinicId'];
|
||||||
|
condition = json['condition'];
|
||||||
|
createdBy = json['createdBy'];
|
||||||
|
createdOn = json['createdOn'];
|
||||||
|
deletedBy = json['deletedBy'];
|
||||||
|
deletedByDoctorName = json['deletedByDoctorName'];
|
||||||
|
deletedOn = json['deletedOn'];
|
||||||
|
deletedRemarks = json['deletedRemarks'];
|
||||||
|
diagnosisType = json['diagnosisType'];
|
||||||
|
doctorId = json['doctorId'];
|
||||||
|
episodeId = json['episodeId'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
icdCodeDetailsDto = json['icdCodeDetailsDto'];
|
||||||
|
icdSubVersion = json['icdSubVersion'];
|
||||||
|
icdType = json['icdType'];
|
||||||
|
icdVersion = json['icdVersion'];
|
||||||
|
location = json['location'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
modifiedBy = json['modifiedBy'];
|
||||||
|
modifiedOn = json['modifiedOn'];
|
||||||
|
module = json['module'];
|
||||||
|
parentLocation = json['parentLocation'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientProblemChangeHistories = json['patientProblemChangeHistories'];
|
||||||
|
patientProblemId = json['patientProblemId'];
|
||||||
|
patientProblemRevisionId = json['patientProblemRevisionId'];
|
||||||
|
pomrId = json['pomrId'];
|
||||||
|
previousProblem = json['previousProblem'];
|
||||||
|
problemId = json['problemId'];
|
||||||
|
problemName = json['problemName'];
|
||||||
|
remarks = json['remarks'];
|
||||||
|
resolved = json['resolved'];
|
||||||
|
selectedCategoryCode = json['selectedCategoryCode'];
|
||||||
|
selectedChapterCode = json['selectedChapterCode'];
|
||||||
|
selectedDisease = json['selectedDisease'];
|
||||||
|
selectedIcdCode = json['selectedIcdCode'];
|
||||||
|
selectedSectionCode = json['selectedSectionCode'];
|
||||||
|
status = json['status'];
|
||||||
|
visitWiseSelected = json['visitWiseSelected'];
|
||||||
|
if (json['visitWisePatientDiagnoses'] != null) {
|
||||||
|
visitWisePatientDiagnoses = [];
|
||||||
|
json['visitWisePatientDiagnoses'].forEach((v) {
|
||||||
|
visitWisePatientDiagnoses!.add(VisitWisePatientDiagnosis.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'active': active,
|
||||||
|
'admissionId': admissionId ?? 0,
|
||||||
|
'admissionRequestId': admissionRequestId ?? 0,
|
||||||
|
'appointmentId': appointmentId ?? 0,
|
||||||
|
'approvedBy': approvedBy,
|
||||||
|
'approvedOn': approvedOn,
|
||||||
|
'assessmentId': assessmentId ?? 0,
|
||||||
|
'chiefComplainId': chiefComplainId ?? 0,
|
||||||
|
'clinicGroupId': clinicGroupId ?? 0,
|
||||||
|
'clinicId': clinicId,
|
||||||
|
'condition': condition,
|
||||||
|
'createdBy': createdBy,
|
||||||
|
'createdOn': createdOn,
|
||||||
|
'deletedBy': deletedBy,
|
||||||
|
'deletedByDoctorName': deletedByDoctorName,
|
||||||
|
'deletedOn': deletedOn,
|
||||||
|
'deletedRemarks': deletedRemarks,
|
||||||
|
'diagnosisType': diagnosisType,
|
||||||
|
'doctorId': doctorId,
|
||||||
|
'episodeId': episodeId ?? 0,
|
||||||
|
'hospitalGroupId': hospitalGroupId,
|
||||||
|
'hospitalId': hospitalId,
|
||||||
|
'icdCodeDetailsDto': icdCodeDetailsDto,
|
||||||
|
'icdSubVersion': icdSubVersion,
|
||||||
|
'icdType': icdType,
|
||||||
|
'icdVersion': icdVersion,
|
||||||
|
'location': location,
|
||||||
|
'loginUserId': loginUserId,
|
||||||
|
'modifiedBy': modifiedBy,
|
||||||
|
'modifiedOn': modifiedOn,
|
||||||
|
'module': module,
|
||||||
|
'parentLocation': parentLocation,
|
||||||
|
'patientId': patientId,
|
||||||
|
'patientProblemChangeHistories': patientProblemChangeHistories,
|
||||||
|
'patientProblemId': patientProblemId,
|
||||||
|
'patientProblemRevisionId': patientProblemRevisionId,
|
||||||
|
'pomrId': pomrId,
|
||||||
|
'previousProblem': previousProblem,
|
||||||
|
'problemId': problemId,
|
||||||
|
'problemName': problemName,
|
||||||
|
'remarks': remarks,
|
||||||
|
'resolved': resolved,
|
||||||
|
'selectedCategoryCode': selectedCategoryCode,
|
||||||
|
'selectedChapterCode': selectedChapterCode,
|
||||||
|
'selectedDisease': selectedDisease,
|
||||||
|
'selectedIcdCode': selectedIcdCode,
|
||||||
|
'selectedSectionCode': selectedSectionCode,
|
||||||
|
'status': status,
|
||||||
|
'visitWiseSelected': visitWiseSelected,
|
||||||
|
'visitWisePatientDiagnoses': visitWisePatientDiagnoses?.map((v) => v.toJson()).toList(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class VisitWisePatientDiagnosis {
|
||||||
|
bool? active;
|
||||||
|
int? admissionId;
|
||||||
|
int? appointmentId;
|
||||||
|
String? approvedBy;
|
||||||
|
String? approvedOn;
|
||||||
|
int? assessmentId;
|
||||||
|
int? clinicId;
|
||||||
|
String? condition;
|
||||||
|
String? createdBy;
|
||||||
|
String? createdOn;
|
||||||
|
String? deletedBy;
|
||||||
|
String? deletedOn;
|
||||||
|
String? deletedRemarks;
|
||||||
|
String? diagnosisType;
|
||||||
|
int? doctorId;
|
||||||
|
int? episodeId;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? icdSubVersion;
|
||||||
|
String? icdType;
|
||||||
|
dynamic icdVersion;
|
||||||
|
bool? isPreviousProblem;
|
||||||
|
String? location;
|
||||||
|
String? loginUserId;
|
||||||
|
String? modifiedBy;
|
||||||
|
String? modifiedOn;
|
||||||
|
int? patientDiagnosisId;
|
||||||
|
int? patientId;
|
||||||
|
int? patientProblemRevisionId;
|
||||||
|
int? pomrId;
|
||||||
|
String? problemName;
|
||||||
|
String? remarks;
|
||||||
|
bool? resolved;
|
||||||
|
bool? selected;
|
||||||
|
String? selectedDisease;
|
||||||
|
int? selectedDoctorId;
|
||||||
|
String? selectedIcdCode;
|
||||||
|
|
||||||
|
VisitWisePatientDiagnosis.fromJson(Map<String, dynamic> json) {
|
||||||
|
active = json['active'];
|
||||||
|
admissionId = json['admissionId'];
|
||||||
|
appointmentId = json['appointmentId'];
|
||||||
|
approvedBy = json['approvedBy'];
|
||||||
|
approvedOn = json['approvedOn'];
|
||||||
|
assessmentId = json['assessmentId'];
|
||||||
|
clinicId = json['clinicId'];
|
||||||
|
condition = json['condition'];
|
||||||
|
createdBy = json['createdBy'];
|
||||||
|
createdOn = json['createdOn'];
|
||||||
|
deletedBy = json['deletedBy'];
|
||||||
|
deletedOn = json['deletedOn'];
|
||||||
|
deletedRemarks = json['deletedRemarks'];
|
||||||
|
diagnosisType = json['diagnosisType'];
|
||||||
|
doctorId = json['doctorId'];
|
||||||
|
episodeId = json['episodeId'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
icdSubVersion = json['icdSubVersion'];
|
||||||
|
icdType = json['icdType'];
|
||||||
|
icdVersion = json['icdVersion'];
|
||||||
|
isPreviousProblem = json['isPreviousProblem'];
|
||||||
|
location = json['location'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
modifiedBy = json['modifiedBy'];
|
||||||
|
modifiedOn = json['modifiedOn'];
|
||||||
|
patientDiagnosisId = json['patientDiagnosisId'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientProblemRevisionId = json['patientProblemRevisionId'];
|
||||||
|
pomrId = json['pomrId'];
|
||||||
|
problemName = json['problemName'];
|
||||||
|
remarks = json['remarks'];
|
||||||
|
resolved = json['resolved'];
|
||||||
|
selected = json['selected'];
|
||||||
|
selectedDisease = json['selectedDisease'];
|
||||||
|
selectedDoctorId = json['selectedDoctorId'];
|
||||||
|
selectedIcdCode = json['selectedIcdCode'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'active': active,
|
||||||
|
'admissionId': admissionId,
|
||||||
|
'appointmentId': appointmentId,
|
||||||
|
'approvedBy': approvedBy,
|
||||||
|
'approvedOn': approvedOn,
|
||||||
|
'assessmentId': assessmentId,
|
||||||
|
'clinicId': clinicId,
|
||||||
|
'condition': condition,
|
||||||
|
'createdBy': createdBy,
|
||||||
|
'createdOn': createdOn,
|
||||||
|
'deletedBy': deletedBy,
|
||||||
|
'deletedOn': deletedOn,
|
||||||
|
'deletedRemarks': deletedRemarks,
|
||||||
|
'diagnosisType': diagnosisType,
|
||||||
|
'doctorId': doctorId,
|
||||||
|
'episodeId': episodeId,
|
||||||
|
'hospitalGroupId': hospitalGroupId,
|
||||||
|
'hospitalId': hospitalId,
|
||||||
|
'icdSubVersion': icdSubVersion,
|
||||||
|
'icdType': icdType,
|
||||||
|
'icdVersion': icdVersion,
|
||||||
|
'isPreviousProblem': isPreviousProblem,
|
||||||
|
'location': location,
|
||||||
|
'loginUserId': loginUserId,
|
||||||
|
'modifiedBy': modifiedBy,
|
||||||
|
'modifiedOn': modifiedOn,
|
||||||
|
'patientDiagnosisId': patientDiagnosisId,
|
||||||
|
'patientId': patientId,
|
||||||
|
'patientProblemRevisionId': patientProblemRevisionId,
|
||||||
|
'pomrId': pomrId,
|
||||||
|
'problemName': problemName,
|
||||||
|
'remarks': remarks,
|
||||||
|
'resolved': resolved,
|
||||||
|
'selected': selected,
|
||||||
|
'selectedDisease': selectedDisease,
|
||||||
|
'selectedDoctorId': selectedDoctorId,
|
||||||
|
'selectedIcdCode': selectedIcdCode,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,99 @@
|
|||||||
|
class SearchDiagnosis {
|
||||||
|
String? category;
|
||||||
|
String? categoryId;
|
||||||
|
String? codeRange;
|
||||||
|
String? diseaseType;
|
||||||
|
String? diseases;
|
||||||
|
String? diseasesBCode;
|
||||||
|
String? diseasesCode;
|
||||||
|
String? diseasesDataId;
|
||||||
|
String? diseasesId;
|
||||||
|
String? diseasesName;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? icdSubVersion;
|
||||||
|
String? icdType;
|
||||||
|
List<String>? icdVersion;
|
||||||
|
String? icdVersionDisplay;
|
||||||
|
bool? isDeleted;
|
||||||
|
String? layerID;
|
||||||
|
String? parentDiseasesCode;
|
||||||
|
String? specification;
|
||||||
|
int? specificationId;
|
||||||
|
String? specificationNo;
|
||||||
|
String? selectedIcdCode;
|
||||||
|
String? selectedCategoryCode;
|
||||||
|
String? selectedSectionCode;
|
||||||
|
String? selectedChapterCode;
|
||||||
|
String? selectedNandaCode;
|
||||||
|
bool isFavorite = false;
|
||||||
|
|
||||||
|
// Default constructor
|
||||||
|
SearchDiagnosis();
|
||||||
|
|
||||||
|
// fromJson constructor
|
||||||
|
SearchDiagnosis.fromJson(Map<String, dynamic> json) {
|
||||||
|
category = json['category'];
|
||||||
|
categoryId = json['categoryId'];
|
||||||
|
codeRange = json['codeRange'];
|
||||||
|
diseaseType = json['diseaseType'];
|
||||||
|
diseases = json['diseases'];
|
||||||
|
diseasesBCode = json['diseasesBCode'];
|
||||||
|
diseasesCode = json['diseasesCode'];
|
||||||
|
diseasesDataId = json['diseasesDataId'];
|
||||||
|
diseasesId = json['diseasesId'];
|
||||||
|
diseasesName = json['diseasesName'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
icdSubVersion = json['icdSubVersion'];
|
||||||
|
icdType = json['icdType'];
|
||||||
|
icdVersion = json['icdVersion'] != null
|
||||||
|
? List<String>.from(json['icdVersion'])
|
||||||
|
: null;
|
||||||
|
icdVersionDisplay = json['icdVersionDisplay'];
|
||||||
|
isDeleted = json['isDeleted'] == "True";
|
||||||
|
layerID = json['layerID'];
|
||||||
|
parentDiseasesCode = json['parentDiseasesCode'];
|
||||||
|
specification = json['specification'];
|
||||||
|
specificationId = json['specificationId'];
|
||||||
|
specificationNo = json['specificationNo'];
|
||||||
|
selectedIcdCode = json['selectedIcdCode'];
|
||||||
|
selectedCategoryCode = json['selectedCategoryCode'];
|
||||||
|
selectedSectionCode = json['selectedSectionCode'];
|
||||||
|
selectedChapterCode = json['selectedChapterCode'];
|
||||||
|
selectedNandaCode = json['selectedNandaCode'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// toJson method
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'category': category,
|
||||||
|
'categoryId': categoryId,
|
||||||
|
'codeRange': codeRange,
|
||||||
|
'diseaseType': diseaseType,
|
||||||
|
'diseases': diseases,
|
||||||
|
'diseasesBCode': diseasesBCode,
|
||||||
|
'diseasesCode': diseasesCode,
|
||||||
|
'diseasesDataId': diseasesDataId,
|
||||||
|
'diseasesId': diseasesId,
|
||||||
|
'diseasesName': diseasesName,
|
||||||
|
'hospitalGroupId': hospitalGroupId,
|
||||||
|
'hospitalId': hospitalId,
|
||||||
|
'icdSubVersion': icdSubVersion,
|
||||||
|
'icdType': icdType,
|
||||||
|
'icdVersion': icdVersion,
|
||||||
|
'icdVersionDisplay': icdVersionDisplay,
|
||||||
|
'isDeleted': isDeleted.toString(),
|
||||||
|
'layerID': layerID,
|
||||||
|
'parentDiseasesCode': parentDiseasesCode,
|
||||||
|
'specification': specification,
|
||||||
|
'specificationId': specificationId,
|
||||||
|
'specificationNo': specificationNo,
|
||||||
|
'selectedIcdCode': selectedIcdCode,
|
||||||
|
'selectedCategoryCode': selectedCategoryCode,
|
||||||
|
'selectedSectionCode': selectedSectionCode,
|
||||||
|
'selectedChapterCode': selectedChapterCode,
|
||||||
|
'selectedNandaCode': selectedNandaCode,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,249 @@
|
|||||||
|
class EpisodeByChiefComplaintVidaPlus {
|
||||||
|
int? clinicId;
|
||||||
|
String? createdOn;
|
||||||
|
int? doctorId;
|
||||||
|
int? episodeStatus;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? modifiedOn;
|
||||||
|
int? patientEpisodeId;
|
||||||
|
int? patientId;
|
||||||
|
List<PatientPomrs>? patientPomrs;
|
||||||
|
|
||||||
|
EpisodeByChiefComplaintVidaPlus(
|
||||||
|
{this.clinicId,
|
||||||
|
this.createdOn,
|
||||||
|
this.doctorId,
|
||||||
|
this.episodeStatus,
|
||||||
|
this.hospitalGroupId,
|
||||||
|
this.hospitalId,
|
||||||
|
this.modifiedOn,
|
||||||
|
this.patientEpisodeId,
|
||||||
|
this.patientId,
|
||||||
|
this.patientPomrs});
|
||||||
|
|
||||||
|
EpisodeByChiefComplaintVidaPlus.fromJson(Map<String, dynamic> json) {
|
||||||
|
clinicId = json['clinicId'];
|
||||||
|
createdOn = json['createdOn'];
|
||||||
|
doctorId = json['doctorId'];
|
||||||
|
episodeStatus = json['episodeStatus'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
modifiedOn = json['modifiedOn'];
|
||||||
|
patientEpisodeId = json['patientEpisodeId'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
if (json['patientPomrs'] != null) {
|
||||||
|
patientPomrs = <PatientPomrs>[];
|
||||||
|
json['patientPomrs'].forEach((v) {
|
||||||
|
patientPomrs!.add(new PatientPomrs.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['clinicId'] = this.clinicId;
|
||||||
|
data['createdOn'] = this.createdOn;
|
||||||
|
data['doctorId'] = this.doctorId;
|
||||||
|
data['episodeStatus'] = this.episodeStatus;
|
||||||
|
data['hospitalGroupId'] = this.hospitalGroupId;
|
||||||
|
data['hospitalId'] = this.hospitalId;
|
||||||
|
data['modifiedOn'] = this.modifiedOn;
|
||||||
|
data['patientEpisodeId'] = this.patientEpisodeId;
|
||||||
|
data['patientId'] = this.patientId;
|
||||||
|
if (this.patientPomrs != null) {
|
||||||
|
data['patientPomrs'] = this.patientPomrs!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class PatientPomrs {
|
||||||
|
int? appointmentId;
|
||||||
|
int? chiefComplainTemplateId;
|
||||||
|
List<ChiefComplains>? chiefComplains;
|
||||||
|
int? clinicGroupId;
|
||||||
|
String? createdOn;
|
||||||
|
int? doctorId;
|
||||||
|
String? doctorName;
|
||||||
|
int? episodeId;
|
||||||
|
bool? fallowUp;
|
||||||
|
bool? fallowUpRequired;
|
||||||
|
bool? isReadOnly;
|
||||||
|
String? modifiedOn;
|
||||||
|
int? patientId;
|
||||||
|
int? patientPomrId;
|
||||||
|
String? pomrSingOn;
|
||||||
|
int? pomrStatus;
|
||||||
|
bool? readOnly;
|
||||||
|
String? seenAtStatus;
|
||||||
|
String? vprnSeenAtStatus;
|
||||||
|
|
||||||
|
PatientPomrs(
|
||||||
|
{this.appointmentId,
|
||||||
|
this.chiefComplainTemplateId,
|
||||||
|
this.chiefComplains,
|
||||||
|
this.clinicGroupId,
|
||||||
|
this.createdOn,
|
||||||
|
this.doctorId,
|
||||||
|
this.doctorName,
|
||||||
|
this.episodeId,
|
||||||
|
this.fallowUp,
|
||||||
|
this.fallowUpRequired,
|
||||||
|
this.isReadOnly,
|
||||||
|
this.modifiedOn,
|
||||||
|
this.patientId,
|
||||||
|
this.patientPomrId,
|
||||||
|
this.pomrSingOn,
|
||||||
|
this.pomrStatus,
|
||||||
|
this.readOnly,
|
||||||
|
this.seenAtStatus,
|
||||||
|
this.vprnSeenAtStatus});
|
||||||
|
|
||||||
|
PatientPomrs.fromJson(Map<String, dynamic> json) {
|
||||||
|
appointmentId = json['appointmentId'];
|
||||||
|
chiefComplainTemplateId = json['chiefComplainTemplateId'];
|
||||||
|
if (json['chiefComplains'] != null) {
|
||||||
|
chiefComplains = <ChiefComplains>[];
|
||||||
|
json['chiefComplains'].forEach((v) {
|
||||||
|
chiefComplains!.add(new ChiefComplains.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
clinicGroupId = json['clinicGroupId'];
|
||||||
|
createdOn = json['createdOn'];
|
||||||
|
doctorId = json['doctorId'];
|
||||||
|
doctorName = json['doctorName'];
|
||||||
|
episodeId = json['episodeId'];
|
||||||
|
fallowUp = json['fallowUp'];
|
||||||
|
fallowUpRequired = json['fallowUpRequired'];
|
||||||
|
isReadOnly = json['isReadOnly'];
|
||||||
|
modifiedOn = json['modifiedOn'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientPomrId = json['patientPomrId'];
|
||||||
|
pomrSingOn = json['pomrSingOn'];
|
||||||
|
pomrStatus = json['pomrStatus'];
|
||||||
|
readOnly = json['readOnly'];
|
||||||
|
seenAtStatus = json['seenAtStatus'];
|
||||||
|
vprnSeenAtStatus = json['vprnSeenAtStatus'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['appointmentId'] = this.appointmentId;
|
||||||
|
data['chiefComplainTemplateId'] = this.chiefComplainTemplateId;
|
||||||
|
if (this.chiefComplains != null) {
|
||||||
|
data['chiefComplains'] =
|
||||||
|
this.chiefComplains!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['clinicGroupId'] = this.clinicGroupId;
|
||||||
|
data['createdOn'] = this.createdOn;
|
||||||
|
data['doctorId'] = this.doctorId;
|
||||||
|
data['doctorName'] = this.doctorName;
|
||||||
|
data['episodeId'] = this.episodeId;
|
||||||
|
data['fallowUp'] = this.fallowUp;
|
||||||
|
data['fallowUpRequired'] = this.fallowUpRequired;
|
||||||
|
data['isReadOnly'] = this.isReadOnly;
|
||||||
|
data['modifiedOn'] = this.modifiedOn;
|
||||||
|
data['patientId'] = this.patientId;
|
||||||
|
data['patientPomrId'] = this.patientPomrId;
|
||||||
|
data['pomrSingOn'] = this.pomrSingOn;
|
||||||
|
data['pomrStatus'] = this.pomrStatus;
|
||||||
|
data['readOnly'] = this.readOnly;
|
||||||
|
data['seenAtStatus'] = this.seenAtStatus;
|
||||||
|
data['vprnSeenAtStatus'] = this.vprnSeenAtStatus;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ChiefComplains {
|
||||||
|
int? appointmentId;
|
||||||
|
String? chiefComplain;
|
||||||
|
int? chiefComplainId;
|
||||||
|
int? clinicId;
|
||||||
|
String? createdBy;
|
||||||
|
int? createdId;
|
||||||
|
String? createdOn;
|
||||||
|
int? doctorId;
|
||||||
|
String? doctorName;
|
||||||
|
int? episodeId;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? loginUserId;
|
||||||
|
String? modifiedBy;
|
||||||
|
Null? modifiedId;
|
||||||
|
String? modifiedOn;
|
||||||
|
int? patientId;
|
||||||
|
String? patientName;
|
||||||
|
int? patientPomrId;
|
||||||
|
int? chiefComplainTemplateId;
|
||||||
|
|
||||||
|
|
||||||
|
ChiefComplains(
|
||||||
|
{this.appointmentId,
|
||||||
|
this.chiefComplain,
|
||||||
|
this.chiefComplainId,
|
||||||
|
this.clinicId,
|
||||||
|
this.createdBy,
|
||||||
|
this.createdId,
|
||||||
|
this.createdOn,
|
||||||
|
this.doctorId,
|
||||||
|
this.doctorName,
|
||||||
|
this.episodeId,
|
||||||
|
this.hospitalGroupId,
|
||||||
|
this.hospitalId,
|
||||||
|
this.loginUserId,
|
||||||
|
this.modifiedBy,
|
||||||
|
this.modifiedId,
|
||||||
|
this.modifiedOn,
|
||||||
|
this.patientId,
|
||||||
|
this.patientName,
|
||||||
|
this.patientPomrId});
|
||||||
|
|
||||||
|
ChiefComplains.fromJson(Map<String, dynamic> json) {
|
||||||
|
appointmentId = json['appointmentId'];
|
||||||
|
chiefComplain = json['chiefComplain'];
|
||||||
|
chiefComplainTemplateId = json['chiefComplainTemplateId'];
|
||||||
|
chiefComplainId = json['chiefComplainId'];
|
||||||
|
clinicId = json['clinicId'];
|
||||||
|
createdBy = json['createdBy'];
|
||||||
|
createdId = json['createdId'];
|
||||||
|
createdOn = json['createdOn'];
|
||||||
|
doctorId = json['doctorId'];
|
||||||
|
doctorName = json['doctorName'];
|
||||||
|
episodeId = json['episodeId'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
modifiedBy = json['modifiedBy'];
|
||||||
|
modifiedId = json['modifiedId'];
|
||||||
|
modifiedOn = json['modifiedOn'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientName = json['patientName'];
|
||||||
|
patientPomrId = json['patientPomrId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['appointmentId'] = this.appointmentId;
|
||||||
|
data['chiefComplain'] = this.chiefComplain;
|
||||||
|
data['chiefComplainId'] = this.chiefComplainId;
|
||||||
|
data['clinicId'] = this.clinicId;
|
||||||
|
data['createdBy'] = this.createdBy;
|
||||||
|
data['createdId'] = this.createdId;
|
||||||
|
data['createdOn'] = this.createdOn;
|
||||||
|
data['doctorId'] = this.doctorId;
|
||||||
|
data['doctorName'] = this.doctorName;
|
||||||
|
data['episodeId'] = this.episodeId;
|
||||||
|
data['hospitalGroupId'] = this.hospitalGroupId;
|
||||||
|
data['hospitalId'] = this.hospitalId;
|
||||||
|
data['loginUserId'] = this.loginUserId;
|
||||||
|
data['modifiedBy'] = this.modifiedBy;
|
||||||
|
data['chiefComplainTemplateId'] = this.chiefComplainTemplateId;
|
||||||
|
data['modifiedId'] = this.modifiedId;
|
||||||
|
data['modifiedOn'] = this.modifiedOn;
|
||||||
|
data['patientId'] = this.patientId;
|
||||||
|
data['patientName'] = this.patientName;
|
||||||
|
data['patientPomrId'] = this.patientPomrId;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,68 @@
|
|||||||
|
class GetChiefComplaintVidaPlus {
|
||||||
|
int? appointmentId;
|
||||||
|
String? chiefComplain;
|
||||||
|
int? chiefComplainId;
|
||||||
|
int? chiefComplainTemplateId;
|
||||||
|
int? clinicGroupId;
|
||||||
|
int? clinicId;
|
||||||
|
int? doctorId;
|
||||||
|
String? doctorName;
|
||||||
|
int? episodeId;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? loginUserId;
|
||||||
|
int? patientId;
|
||||||
|
int? patientPomrId;
|
||||||
|
|
||||||
|
GetChiefComplaintVidaPlus(
|
||||||
|
{this.appointmentId,
|
||||||
|
this.chiefComplain,
|
||||||
|
this.chiefComplainId,
|
||||||
|
this.chiefComplainTemplateId,
|
||||||
|
this.clinicGroupId,
|
||||||
|
this.clinicId,
|
||||||
|
this.doctorId,
|
||||||
|
this.doctorName,
|
||||||
|
this.episodeId,
|
||||||
|
this.hospitalGroupId,
|
||||||
|
this.hospitalId,
|
||||||
|
this.loginUserId,
|
||||||
|
this.patientId,
|
||||||
|
this.patientPomrId});
|
||||||
|
|
||||||
|
GetChiefComplaintVidaPlus.fromJson(Map<String, dynamic> json) {
|
||||||
|
appointmentId = json['appointmentId'];
|
||||||
|
chiefComplain = json['chiefComplain'];
|
||||||
|
chiefComplainId = json['chiefComplainId'];
|
||||||
|
chiefComplainTemplateId = json['chiefComplainTemplateId'];
|
||||||
|
clinicGroupId = json['clinicGroupId'];
|
||||||
|
clinicId = json['clinicId'];
|
||||||
|
doctorId = json['doctorId'];
|
||||||
|
doctorName = json['doctorName'];
|
||||||
|
episodeId = json['episodeId'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientPomrId = json['patientPomrId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['appointmentId'] = this.appointmentId;
|
||||||
|
data['chiefComplain'] = this.chiefComplain;
|
||||||
|
data['chiefComplainId'] = this.chiefComplainId;
|
||||||
|
data['chiefComplainTemplateId'] = this.chiefComplainTemplateId;
|
||||||
|
data['clinicGroupId'] = this.clinicGroupId;
|
||||||
|
data['clinicId'] = this.clinicId;
|
||||||
|
data['doctorId'] = this.doctorId;
|
||||||
|
data['doctorName'] = this.doctorName;
|
||||||
|
data['episodeId'] = this.episodeId;
|
||||||
|
data['hospitalGroupId'] = this.hospitalGroupId;
|
||||||
|
data['hospitalId'] = this.hospitalId;
|
||||||
|
data['loginUserId'] = this.loginUserId;
|
||||||
|
data['patientId'] = this.patientId;
|
||||||
|
data['patientPomrId'] = this.patientPomrId;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
class SearchChiefComplaint {
|
||||||
|
String? chiefComplain;
|
||||||
|
String? chiefComplainCode;
|
||||||
|
int? chiefComplainId;
|
||||||
|
String? clinic;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? nursingGroup;
|
||||||
|
|
||||||
|
SearchChiefComplaint(
|
||||||
|
{this.chiefComplain,
|
||||||
|
this.chiefComplainCode,
|
||||||
|
this.chiefComplainId,
|
||||||
|
this.clinic,
|
||||||
|
this.hospitalGroupId,
|
||||||
|
this.hospitalId,
|
||||||
|
this.nursingGroup});
|
||||||
|
|
||||||
|
SearchChiefComplaint.fromJson(Map<String, dynamic> json) {
|
||||||
|
chiefComplain = json['chiefComplain'];
|
||||||
|
chiefComplainCode = json['chiefComplainCode'];
|
||||||
|
chiefComplainId = json['chiefComplainId'];
|
||||||
|
clinic = json['clinic'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
nursingGroup = json['nursingGroup'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['chiefComplain'] = this.chiefComplain;
|
||||||
|
data['chiefComplainCode'] = this.chiefComplainCode;
|
||||||
|
data['chiefComplainId'] = this.chiefComplainId;
|
||||||
|
data['clinic'] = this.clinic;
|
||||||
|
data['hospitalGroupId'] = this.hospitalGroupId;
|
||||||
|
data['hospitalId'] = this.hospitalId;
|
||||||
|
data['nursingGroup'] = this.nursingGroup;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,66 @@
|
|||||||
|
class GetHopiDetails {
|
||||||
|
int? clinicId;
|
||||||
|
int? doctorId;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? hpi;
|
||||||
|
int? hpiId;
|
||||||
|
bool? isHpiTakenFamily;
|
||||||
|
bool? isHpiTakenOther;
|
||||||
|
bool? isHpiTakenPatient;
|
||||||
|
String? hpiTakenFamilyText;
|
||||||
|
String? hpiTakenOtherText;
|
||||||
|
String? loginUserId;
|
||||||
|
int? patientId;
|
||||||
|
int? patientPomrId;
|
||||||
|
|
||||||
|
GetHopiDetails(
|
||||||
|
{this.clinicId,
|
||||||
|
this.doctorId,
|
||||||
|
this.hospitalGroupId,
|
||||||
|
this.hospitalId,
|
||||||
|
this.hpi,
|
||||||
|
this.hpiId,
|
||||||
|
this.isHpiTakenFamily,
|
||||||
|
this.isHpiTakenOther,
|
||||||
|
this.isHpiTakenPatient,
|
||||||
|
this.loginUserId,
|
||||||
|
this.patientId,
|
||||||
|
this.patientPomrId});
|
||||||
|
|
||||||
|
GetHopiDetails.fromJson(Map<String, dynamic> json) {
|
||||||
|
clinicId = json['clinicId'];
|
||||||
|
doctorId = json['doctorId'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
hpi = json['hpi'];
|
||||||
|
hpiId = json['hpiId'];
|
||||||
|
isHpiTakenFamily = json['isHpiTakenFamily'];
|
||||||
|
isHpiTakenOther = json['isHpiTakenOther'];
|
||||||
|
isHpiTakenPatient = json['isHpiTakenPatient'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientPomrId = json['patientPomrId'];
|
||||||
|
hpiTakenFamilyText = json['hpiTakenFamilyText'];
|
||||||
|
hpiTakenOtherText = json['hpiTakenOtherText'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['clinicId'] = this.clinicId;
|
||||||
|
data['doctorId'] = this.doctorId;
|
||||||
|
data['hospitalGroupId'] = this.hospitalGroupId;
|
||||||
|
data['hospitalId'] = this.hospitalId;
|
||||||
|
data['hpi'] = this.hpi;
|
||||||
|
data['hpiId'] = this.hpiId;
|
||||||
|
data['isHpiTakenFamily'] = this.isHpiTakenFamily;
|
||||||
|
data['isHpiTakenOther'] = this.isHpiTakenOther;
|
||||||
|
data['isHpiTakenPatient'] = this.isHpiTakenPatient;
|
||||||
|
data['loginUserId'] = this.loginUserId;
|
||||||
|
data['patientId'] = this.patientId;
|
||||||
|
data['patientPomrId'] = this.patientPomrId;
|
||||||
|
data['hpiTakenFamilyText'] = this.hpiTakenFamilyText;
|
||||||
|
data['hpiTakenOtherText'] = this.hpiTakenOtherText;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,156 @@
|
|||||||
|
class GetHomeMedicationList {
|
||||||
|
List? personalizationEntity;
|
||||||
|
int? appointmentId;
|
||||||
|
int? clinicGroupId;
|
||||||
|
int? clinicId;
|
||||||
|
String? createdTime;
|
||||||
|
String? doseQuantity;
|
||||||
|
String? formularyName;
|
||||||
|
String? frequencyId;
|
||||||
|
String? frequencyString;
|
||||||
|
String? genericFormularyId;
|
||||||
|
String? homeMedFrom;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? id;
|
||||||
|
bool? isActive;
|
||||||
|
bool? isEHRIPReconciled;
|
||||||
|
bool? isEHROPReconciled;
|
||||||
|
bool? isERIPReconciled;
|
||||||
|
bool? isFreeText;
|
||||||
|
bool? isReconciled;
|
||||||
|
bool? isUnknownDetail;
|
||||||
|
String? lastUpdatedTime;
|
||||||
|
int? patientId;
|
||||||
|
int? patientPomrId;
|
||||||
|
String? prescribeTypeAlias;
|
||||||
|
int? prescribedItemId;
|
||||||
|
String? prescribedItemName;
|
||||||
|
String? remarks;
|
||||||
|
String? routeId;
|
||||||
|
String? routeString;
|
||||||
|
String? rowVersion;
|
||||||
|
String? sentence;
|
||||||
|
String? strengthId;
|
||||||
|
String? strengthString;
|
||||||
|
|
||||||
|
GetHomeMedicationList(
|
||||||
|
{this.personalizationEntity,
|
||||||
|
this.appointmentId,
|
||||||
|
this.clinicGroupId,
|
||||||
|
this.clinicId,
|
||||||
|
this.createdTime,
|
||||||
|
this.doseQuantity,
|
||||||
|
this.formularyName,
|
||||||
|
this.frequencyId,
|
||||||
|
this.frequencyString,
|
||||||
|
this.genericFormularyId,
|
||||||
|
this.homeMedFrom,
|
||||||
|
this.hospitalGroupId,
|
||||||
|
this.hospitalId,
|
||||||
|
this.id,
|
||||||
|
this.isActive,
|
||||||
|
this.isEHRIPReconciled,
|
||||||
|
this.isEHROPReconciled,
|
||||||
|
this.isERIPReconciled,
|
||||||
|
this.isFreeText,
|
||||||
|
this.isReconciled,
|
||||||
|
this.isUnknownDetail,
|
||||||
|
this.lastUpdatedTime,
|
||||||
|
this.patientId,
|
||||||
|
this.patientPomrId,
|
||||||
|
this.prescribeTypeAlias,
|
||||||
|
this.prescribedItemId,
|
||||||
|
this.prescribedItemName,
|
||||||
|
this.remarks,
|
||||||
|
this.routeId,
|
||||||
|
this.routeString,
|
||||||
|
this.rowVersion,
|
||||||
|
this.sentence,
|
||||||
|
this.strengthId,
|
||||||
|
this.strengthString});
|
||||||
|
|
||||||
|
GetHomeMedicationList.fromJson(Map<String, dynamic> json) {
|
||||||
|
if (json['PersonalizationEntity'] != null) {
|
||||||
|
personalizationEntity = [];
|
||||||
|
json['PersonalizationEntity'].forEach((v) {
|
||||||
|
personalizationEntity!.add( v.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
appointmentId = json['appointmentId'];
|
||||||
|
clinicGroupId = json['clinicGroupId'];
|
||||||
|
clinicId = json['clinicId'];
|
||||||
|
createdTime = json['createdTime'];
|
||||||
|
doseQuantity = json['doseQuantity'];
|
||||||
|
formularyName = json['formularyName'];
|
||||||
|
frequencyId = json['frequencyId'];
|
||||||
|
frequencyString = json['frequencyString'];
|
||||||
|
genericFormularyId = json['genericFormularyId'];
|
||||||
|
homeMedFrom = json['homeMedFrom'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
id = json['id'];
|
||||||
|
isActive = json['isActive'];
|
||||||
|
isEHRIPReconciled = json['isEHRIPReconciled'];
|
||||||
|
isEHROPReconciled = json['isEHROPReconciled'];
|
||||||
|
isERIPReconciled = json['isERIPReconciled'];
|
||||||
|
isFreeText = json['isFreeText'];
|
||||||
|
isReconciled = json['isReconciled'];
|
||||||
|
isUnknownDetail = json['isUnknownDetail'];
|
||||||
|
lastUpdatedTime = json['lastUpdatedTime'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientPomrId = json['patientPomrId'];
|
||||||
|
prescribeTypeAlias = json['prescribeTypeAlias'];
|
||||||
|
prescribedItemId = json['prescribedItemId'];
|
||||||
|
prescribedItemName = json['prescribedItemName'];
|
||||||
|
remarks = json['remarks'];
|
||||||
|
routeId = json['routeId'];
|
||||||
|
routeString = json['routeString'];
|
||||||
|
rowVersion = json['rowVersion'];
|
||||||
|
sentence = json['sentence'];
|
||||||
|
strengthId = json['strengthId'];
|
||||||
|
strengthString = json['strengthString'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
if (this.personalizationEntity != null) {
|
||||||
|
data['PersonalizationEntity'] =
|
||||||
|
this.personalizationEntity!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['appointmentId'] = this.appointmentId;
|
||||||
|
data['clinicGroupId'] = this.clinicGroupId;
|
||||||
|
data['clinicId'] = this.clinicId;
|
||||||
|
data['createdTime'] = this.createdTime;
|
||||||
|
data['doseQuantity'] = this.doseQuantity;
|
||||||
|
data['formularyName'] = this.formularyName;
|
||||||
|
data['frequencyId'] = this.frequencyId;
|
||||||
|
data['frequencyString'] = this.frequencyString;
|
||||||
|
data['genericFormularyId'] = this.genericFormularyId;
|
||||||
|
data['homeMedFrom'] = this.homeMedFrom;
|
||||||
|
data['hospitalGroupId'] = this.hospitalGroupId;
|
||||||
|
data['hospitalId'] = this.hospitalId;
|
||||||
|
data['id'] = this.id;
|
||||||
|
data['isActive'] = this.isActive;
|
||||||
|
data['isEHRIPReconciled'] = this.isEHRIPReconciled;
|
||||||
|
data['isEHROPReconciled'] = this.isEHROPReconciled;
|
||||||
|
data['isERIPReconciled'] = this.isERIPReconciled;
|
||||||
|
data['isFreeText'] = this.isFreeText;
|
||||||
|
data['isReconciled'] = this.isReconciled;
|
||||||
|
data['isUnknownDetail'] = this.isUnknownDetail;
|
||||||
|
data['lastUpdatedTime'] = this.lastUpdatedTime;
|
||||||
|
data['patientId'] = this.patientId;
|
||||||
|
data['patientPomrId'] = this.patientPomrId;
|
||||||
|
data['prescribeTypeAlias'] = this.prescribeTypeAlias;
|
||||||
|
data['prescribedItemId'] = this.prescribedItemId;
|
||||||
|
data['prescribedItemName'] = this.prescribedItemName;
|
||||||
|
data['remarks'] = this.remarks;
|
||||||
|
data['routeId'] = this.routeId;
|
||||||
|
data['routeString'] = this.routeString;
|
||||||
|
data['rowVersion'] = this.rowVersion;
|
||||||
|
data['sentence'] = this.sentence;
|
||||||
|
data['strengthId'] = this.strengthId;
|
||||||
|
data['strengthString'] = this.strengthString;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
class GetSearchCurrentMedication {
|
||||||
|
String? formularyName;
|
||||||
|
String? genericFormularyCode;
|
||||||
|
String? genericFormularyId;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? itemType;
|
||||||
|
bool? outOfStock;
|
||||||
|
|
||||||
|
GetSearchCurrentMedication(
|
||||||
|
{this.formularyName,
|
||||||
|
this.genericFormularyCode,
|
||||||
|
this.genericFormularyId,
|
||||||
|
this.hospitalGroupId,
|
||||||
|
this.hospitalId,
|
||||||
|
this.itemType,
|
||||||
|
this.outOfStock});
|
||||||
|
|
||||||
|
GetSearchCurrentMedication.fromJson(Map<String, dynamic> json) {
|
||||||
|
formularyName = json['formularyName'];
|
||||||
|
genericFormularyCode = json['genericFormularyCode'];
|
||||||
|
genericFormularyId = json['genericFormularyId'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
itemType = json['itemType'];
|
||||||
|
outOfStock = json['outOfStock'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['formularyName'] = this.formularyName;
|
||||||
|
data['genericFormularyCode'] = this.genericFormularyCode;
|
||||||
|
data['genericFormularyId'] = this.genericFormularyId;
|
||||||
|
data['hospitalGroupId'] = this.hospitalGroupId;
|
||||||
|
data['hospitalId'] = this.hospitalId;
|
||||||
|
data['itemType'] = this.itemType;
|
||||||
|
data['outOfStock'] = this.outOfStock;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,108 @@
|
|||||||
|
class GetSearchCurrentMedicationDetails {
|
||||||
|
List<GenericItemFrequencyDetailsEntity>? genericItemFrequencyDetailsEntity;
|
||||||
|
List<GenericItemRouteDetailsEntity>? genericItemRouteDetailsEntity;
|
||||||
|
List<ItemStrengthDetailsDto>? itemStrengthDetailsDto;
|
||||||
|
int? patientTypeId;
|
||||||
|
|
||||||
|
GetSearchCurrentMedicationDetails({this.genericItemFrequencyDetailsEntity, this.genericItemRouteDetailsEntity, this.itemStrengthDetailsDto, this.patientTypeId});
|
||||||
|
|
||||||
|
GetSearchCurrentMedicationDetails.fromJson(Map<String, dynamic> json) {
|
||||||
|
if (json['genericItemFrequencyDetailsEntity'] != null) {
|
||||||
|
genericItemFrequencyDetailsEntity = <GenericItemFrequencyDetailsEntity>[];
|
||||||
|
json['genericItemFrequencyDetailsEntity'].forEach((v) { genericItemFrequencyDetailsEntity!.add(new GenericItemFrequencyDetailsEntity.fromJson(v)); });
|
||||||
|
}
|
||||||
|
if (json['genericItemRouteDetailsEntity'] != null) {
|
||||||
|
genericItemRouteDetailsEntity = <GenericItemRouteDetailsEntity>[];
|
||||||
|
json['genericItemRouteDetailsEntity'].forEach((v) { genericItemRouteDetailsEntity!.add(new GenericItemRouteDetailsEntity.fromJson(v)); });
|
||||||
|
}
|
||||||
|
if (json['itemStrengthDetailsDto'] != null) {
|
||||||
|
itemStrengthDetailsDto = <ItemStrengthDetailsDto>[];
|
||||||
|
json['itemStrengthDetailsDto'].forEach((v) { itemStrengthDetailsDto!.add(new ItemStrengthDetailsDto.fromJson(v)); });
|
||||||
|
}
|
||||||
|
patientTypeId = json['patientTypeId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
if (this.genericItemFrequencyDetailsEntity != null) {
|
||||||
|
data['genericItemFrequencyDetailsEntity'] = this.genericItemFrequencyDetailsEntity!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
if (this.genericItemRouteDetailsEntity != null) {
|
||||||
|
data['genericItemRouteDetailsEntity'] = this.genericItemRouteDetailsEntity!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
if (this.itemStrengthDetailsDto != null) {
|
||||||
|
data['itemStrengthDetailsDto'] = this.itemStrengthDetailsDto!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['patientTypeId'] = this.patientTypeId;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class GenericItemFrequencyDetailsEntity {
|
||||||
|
bool? Default;
|
||||||
|
String? frequency;
|
||||||
|
int? frequencyId;
|
||||||
|
int? interval;
|
||||||
|
|
||||||
|
GenericItemFrequencyDetailsEntity({this.Default, this.frequency, this.frequencyId, this.interval});
|
||||||
|
|
||||||
|
GenericItemFrequencyDetailsEntity.fromJson(Map<String, dynamic> json) {
|
||||||
|
Default = json['Default'];
|
||||||
|
frequency = json['Frequency'];
|
||||||
|
frequencyId = json['FrequencyId'];
|
||||||
|
interval = json['Interval'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['Default'] = this.Default;
|
||||||
|
data['Frequency'] = this.frequency;
|
||||||
|
data['FrequencyId'] = this.frequencyId;
|
||||||
|
data['Interval'] = this.interval;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class GenericItemRouteDetailsEntity {
|
||||||
|
bool? Default;
|
||||||
|
String? route;
|
||||||
|
int? routeId;
|
||||||
|
|
||||||
|
GenericItemRouteDetailsEntity({this.Default, this.route, this.routeId});
|
||||||
|
|
||||||
|
GenericItemRouteDetailsEntity.fromJson(Map<String, dynamic> json) {
|
||||||
|
Default = json['default'];
|
||||||
|
route = json['route'];
|
||||||
|
routeId = json['routeId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['default'] = this.Default;
|
||||||
|
data['route'] = this.route;
|
||||||
|
data['routeId'] = this.routeId;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ItemStrengthDetailsDto {
|
||||||
|
bool? Default;
|
||||||
|
String? strength;
|
||||||
|
int? strengthId;
|
||||||
|
|
||||||
|
ItemStrengthDetailsDto({this.Default, this.strength, this.strengthId});
|
||||||
|
|
||||||
|
ItemStrengthDetailsDto.fromJson(Map<String, dynamic> json) {
|
||||||
|
Default = json['default'];
|
||||||
|
strength = json['strength'];
|
||||||
|
strengthId = json['strengthId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['default'] = this.Default;
|
||||||
|
data['strength'] = this.strength;
|
||||||
|
data['strengthId'] = this.strengthId;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,96 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class Condition {
|
||||||
|
String? conditionCode;
|
||||||
|
String? conditionName;
|
||||||
|
|
||||||
|
Condition();
|
||||||
|
|
||||||
|
Condition.fromJson(Map<String, dynamic> json) {
|
||||||
|
conditionCode = json['conditionCode'];
|
||||||
|
conditionName = json['conditionName'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'conditionCode': conditionCode,
|
||||||
|
'conditionName': conditionName,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Category {
|
||||||
|
int? categoryId;
|
||||||
|
String? code;
|
||||||
|
String? codeAlias;
|
||||||
|
List<Condition>? conditionsList;
|
||||||
|
String? description;
|
||||||
|
String? descriptionAlias;
|
||||||
|
int? id;
|
||||||
|
bool? isActive;
|
||||||
|
bool? isBuiltin;
|
||||||
|
String? languageCode;
|
||||||
|
String? name;
|
||||||
|
String? nameAlias;
|
||||||
|
int? rowVersion;
|
||||||
|
int? specialityId;
|
||||||
|
String? specialityName;
|
||||||
|
List<dynamic>? translationValues;
|
||||||
|
bool isSelected = false;
|
||||||
|
TextEditingController remarksController = TextEditingController();
|
||||||
|
int selectedCondition = -1;
|
||||||
|
String selectedConditionName = "";
|
||||||
|
String? pomrId;
|
||||||
|
int? paitientId;
|
||||||
|
int? userID;
|
||||||
|
bool isExpanded = false;
|
||||||
|
|
||||||
|
Category();
|
||||||
|
|
||||||
|
Category.fromJson(Map<String, dynamic> json,int? specialityId, String specialityName, String? pomrId, int paitientId, int userID) {
|
||||||
|
categoryId = json['categoryId'];
|
||||||
|
code = json['code'];
|
||||||
|
codeAlias = json['codeAlias'];
|
||||||
|
if (json['conditionsList'] != null) {
|
||||||
|
conditionsList = <Condition>[];
|
||||||
|
json['conditionsList'].forEach((v) {
|
||||||
|
conditionsList!.add(Condition.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(conditionsList?.isNotEmpty == true) selectedCondition = int.parse(conditionsList?.first.conditionName ??'-1');
|
||||||
|
description = json['description'];
|
||||||
|
descriptionAlias = json['descriptionAlias'];
|
||||||
|
id = json['id'];
|
||||||
|
isActive = json['isActive'];
|
||||||
|
isBuiltin = json['isBuiltin'];
|
||||||
|
languageCode = json['languageCode'];
|
||||||
|
name = json['name'];
|
||||||
|
nameAlias = json['nameAlias'];
|
||||||
|
rowVersion = json['rowVersion'];
|
||||||
|
translationValues = json['translationValues'];
|
||||||
|
this.specialityName = specialityName;
|
||||||
|
this.specialityId = specialityId;
|
||||||
|
this.pomrId = pomrId;
|
||||||
|
this.paitientId = paitientId;
|
||||||
|
this.userID = userID;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'categoryId': categoryId,
|
||||||
|
'code': code,
|
||||||
|
'codeAlias': codeAlias,
|
||||||
|
'conditionsList': conditionsList?.map((v) => v.toJson()).toList(),
|
||||||
|
'description': description,
|
||||||
|
'descriptionAlias': descriptionAlias,
|
||||||
|
'id': id,
|
||||||
|
'isActive': isActive,
|
||||||
|
'isBuiltin': isBuiltin,
|
||||||
|
'languageCode': languageCode,
|
||||||
|
'name': name,
|
||||||
|
'nameAlias': nameAlias,
|
||||||
|
'rowVersion': rowVersion,
|
||||||
|
'translationValues': translationValues,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,74 @@
|
|||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/physical_exam/Category.dart';
|
||||||
|
|
||||||
|
class CreatePhysicalExamination {
|
||||||
|
bool? isChecked; // it will be told
|
||||||
|
bool? selected; // same as above
|
||||||
|
String? pomrid; // paitient
|
||||||
|
int? patientID; // paitint
|
||||||
|
bool? isClinicPhysicalExamination; // it will be told
|
||||||
|
dynamic? physicalExaminationSystemID; // category id
|
||||||
|
String? physicalExaminationDescription; // name of the category
|
||||||
|
int? specialityID; // id of the specialitiy id
|
||||||
|
dynamic selectedOptions; // it will also be told but it could be sent as null
|
||||||
|
bool? isMandatory; // it will also be checked default value is false
|
||||||
|
String? specialityDescription; // name of the speciality
|
||||||
|
int? physicalExaminationCondition; // condition selected
|
||||||
|
String? loginUserId; // doctor id
|
||||||
|
String? remark;
|
||||||
|
|
||||||
|
CreatePhysicalExamination();
|
||||||
|
|
||||||
|
CreatePhysicalExamination.fromJson(Map<String, dynamic> json) {
|
||||||
|
isChecked = json['isChecked'];
|
||||||
|
selected = json['selected'];
|
||||||
|
pomrid = json['pomrid'];
|
||||||
|
patientID = json['patientID'];
|
||||||
|
isClinicPhysicalExamination = json['isClinicPhysicalExamination'];
|
||||||
|
physicalExaminationSystemID = json['physicalExaminationSystemID'];
|
||||||
|
physicalExaminationDescription = json['physicalExaminationDescription'];
|
||||||
|
specialityID = json['specialityID'];
|
||||||
|
selectedOptions = json['selectedOptions'];
|
||||||
|
isMandatory = json['isMandatory'];
|
||||||
|
specialityDescription = json['specialityDescription'];
|
||||||
|
physicalExaminationCondition = json['physicalExaminationCondition'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
remark = json['remark'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'isChecked': isChecked,
|
||||||
|
'selected': selected,
|
||||||
|
'pomrid': pomrid,
|
||||||
|
'patientID': patientID,
|
||||||
|
'isClinicPhysicalExamination': isClinicPhysicalExamination,
|
||||||
|
'physicalExaminationSystemID': physicalExaminationSystemID,
|
||||||
|
'physicalExaminationDescription': physicalExaminationDescription,
|
||||||
|
'specialityID': specialityID,
|
||||||
|
'selectedOptions': selectedOptions,
|
||||||
|
'isMandatory': isMandatory,
|
||||||
|
'specialityDescription': specialityDescription,
|
||||||
|
'physicalExaminationCondition': physicalExaminationCondition,
|
||||||
|
'loginUserId': loginUserId,
|
||||||
|
'remark': remark,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extension ConvertCategoryToCreatePhysicalExamination on Category {
|
||||||
|
CreatePhysicalExamination createPhysicalExaminationFromCategory() =>
|
||||||
|
CreatePhysicalExamination()
|
||||||
|
..isChecked = true
|
||||||
|
..physicalExaminationDescription = this.name
|
||||||
|
..physicalExaminationSystemID = this.id
|
||||||
|
..physicalExaminationCondition = this.selectedCondition
|
||||||
|
..remark = this.remarksController.text
|
||||||
|
..selected = false
|
||||||
|
..specialityID = this.specialityId
|
||||||
|
..patientID = this.paitientId
|
||||||
|
..pomrid = this.pomrId
|
||||||
|
..loginUserId = this.userID?.toString()
|
||||||
|
..isMandatory = false
|
||||||
|
..specialityDescription = this.specialityName
|
||||||
|
..isClinicPhysicalExamination = true;
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
class GeneralSpeciality {
|
||||||
|
int? id;
|
||||||
|
bool? isActive;
|
||||||
|
String? name;
|
||||||
|
int? rowVersion;
|
||||||
|
bool isSelected = false;
|
||||||
|
|
||||||
|
GeneralSpeciality();
|
||||||
|
|
||||||
|
GeneralSpeciality.fromJson(Map<String, dynamic> json) {
|
||||||
|
id = json['id'];
|
||||||
|
isActive = json['isActive'];
|
||||||
|
name = json['name'];
|
||||||
|
rowVersion = json['rowVersion'];
|
||||||
|
}
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'id': id,
|
||||||
|
'isActive': isActive,
|
||||||
|
'name': name,
|
||||||
|
'rowVersion': rowVersion,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,97 @@
|
|||||||
|
class PatientPhysicalExamination {
|
||||||
|
int? patientPhysicalExaminationRevisionID;
|
||||||
|
int? patientPhysicalExaminationID;
|
||||||
|
int? patientID;
|
||||||
|
int? physicalExaminationSystemID;
|
||||||
|
String? physicalExaminationDescription;
|
||||||
|
int? physicalExaminationCondition;
|
||||||
|
String? remark;
|
||||||
|
int? assessmentId;
|
||||||
|
String? userType;
|
||||||
|
int? specialtyID;
|
||||||
|
String? specialityDescription;
|
||||||
|
String? loginUserId;
|
||||||
|
bool? isMandatory;
|
||||||
|
String? examinationType;
|
||||||
|
dynamic additionalParams; // Use dynamic for null or varied types
|
||||||
|
int? hospitalGroupID;
|
||||||
|
int? hospitalID;
|
||||||
|
int? dbCRUDOperation;
|
||||||
|
bool? isActive;
|
||||||
|
int? createdBy;
|
||||||
|
String? createdOn;
|
||||||
|
int? modifiedBy;
|
||||||
|
String? modifiedOn;
|
||||||
|
int? approvedBy;
|
||||||
|
String? approvedOn;
|
||||||
|
String? rowVersion;
|
||||||
|
String? pomrid;
|
||||||
|
|
||||||
|
// Default constructor
|
||||||
|
PatientPhysicalExamination();
|
||||||
|
|
||||||
|
// fromJson constructor
|
||||||
|
PatientPhysicalExamination.fromJson(Map<String, dynamic> json) {
|
||||||
|
patientPhysicalExaminationRevisionID =
|
||||||
|
json['patientPhysicalExaminationRevisionID'];
|
||||||
|
patientPhysicalExaminationID = json['patientPhysicalExaminationID'];
|
||||||
|
patientID = json['patientID'];
|
||||||
|
physicalExaminationSystemID = json['physicalExaminationSystemID'];
|
||||||
|
physicalExaminationDescription = json['physicalExaminationDescription'];
|
||||||
|
physicalExaminationCondition = json['physicalExaminationCondition'];
|
||||||
|
remark = json['remark'];
|
||||||
|
assessmentId = json['assessmentId'];
|
||||||
|
userType = json['userType'];
|
||||||
|
specialtyID = json['specialtyID'];
|
||||||
|
specialityDescription = json['specialityDescription'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
isMandatory = json['isMandatory'];
|
||||||
|
examinationType = json['examinationType'];
|
||||||
|
additionalParams = json['additionalParams'];
|
||||||
|
hospitalGroupID = json['hospitalGroupID'];
|
||||||
|
hospitalID = json['hospitalID'];
|
||||||
|
dbCRUDOperation = json['dbCRUDOperation'];
|
||||||
|
isActive = json['isActive'];
|
||||||
|
createdBy = json['createdBy'];
|
||||||
|
createdOn = json['createdOn'];
|
||||||
|
modifiedBy = json['modifiedBy'];
|
||||||
|
modifiedOn = json['modifiedOn'];
|
||||||
|
approvedBy = json['approvedBy'];
|
||||||
|
approvedOn = json['approvedOn'];
|
||||||
|
rowVersion = json['rowVersion'];
|
||||||
|
pomrid = json['pomrid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// toJson method
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'patientPhysicalExaminationRevisionID': patientPhysicalExaminationRevisionID,
|
||||||
|
'patientPhysicalExaminationID': patientPhysicalExaminationID,
|
||||||
|
'patientID': patientID,
|
||||||
|
'physicalExaminationSystemID': physicalExaminationSystemID,
|
||||||
|
'physicalExaminationDescription': physicalExaminationDescription,
|
||||||
|
'physicalExaminationCondition': physicalExaminationCondition,
|
||||||
|
'remark': remark,
|
||||||
|
'assessmentId': assessmentId,
|
||||||
|
'userType': userType,
|
||||||
|
'specialtyID': specialtyID,
|
||||||
|
'specialityDescription': specialityDescription,
|
||||||
|
'loginUserId': loginUserId,
|
||||||
|
'isMandatory': isMandatory,
|
||||||
|
'examinationType': examinationType,
|
||||||
|
'additionalParams': additionalParams,
|
||||||
|
'hospitalGroupID': hospitalGroupID,
|
||||||
|
'hospitalID': hospitalID,
|
||||||
|
'dbCRUDOperation': dbCRUDOperation,
|
||||||
|
'isActive': isActive,
|
||||||
|
'createdBy': createdBy,
|
||||||
|
'createdOn': createdOn,
|
||||||
|
'modifiedBy': modifiedBy,
|
||||||
|
'modifiedOn': modifiedOn,
|
||||||
|
'approvedBy': approvedBy,
|
||||||
|
'approvedOn': approvedOn,
|
||||||
|
'rowVersion': rowVersion,
|
||||||
|
'pomrid': pomrid,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,55 @@
|
|||||||
|
@deprecated
|
||||||
|
class PostPhysicalExaminationModel {
|
||||||
|
bool? isChecked;
|
||||||
|
bool? selected;
|
||||||
|
int? pomrid;
|
||||||
|
int? patientID;
|
||||||
|
bool? isClinicPhysicalExamination;
|
||||||
|
int? physicalExaminationSystemID;
|
||||||
|
String? physicalExaminationDescription;
|
||||||
|
int? specialityID;
|
||||||
|
dynamic selectedOptions;
|
||||||
|
bool? isMandatory;
|
||||||
|
String? specialityDescription;
|
||||||
|
int? physicalExaminationCondition;
|
||||||
|
String? loginUserId;
|
||||||
|
String? remark;
|
||||||
|
|
||||||
|
PostPhysicalExaminationModel();
|
||||||
|
|
||||||
|
PostPhysicalExaminationModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
isChecked = json['isChecked'];
|
||||||
|
selected = json['selected'];
|
||||||
|
pomrid = json['pomrid'];
|
||||||
|
patientID = json['patientID'];
|
||||||
|
isClinicPhysicalExamination = json['isClinicPhysicalExamination'];
|
||||||
|
physicalExaminationSystemID = json['physicalExaminationSystemID'];
|
||||||
|
physicalExaminationDescription = json['physicalExaminationDescription'];
|
||||||
|
specialityID = json['specialityID'];
|
||||||
|
selectedOptions = json['selectedOptions'];
|
||||||
|
isMandatory = json['isMandatory'];
|
||||||
|
specialityDescription = json['specialityDescription'];
|
||||||
|
physicalExaminationCondition = json['physicalExaminationCondition'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
remark = json['remark'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'isChecked': isChecked,
|
||||||
|
'selected': selected,
|
||||||
|
'pomrid': pomrid,
|
||||||
|
'patientID': patientID,
|
||||||
|
'isClinicPhysicalExamination': isClinicPhysicalExamination,
|
||||||
|
'physicalExaminationSystemID': physicalExaminationSystemID,
|
||||||
|
'physicalExaminationDescription': physicalExaminationDescription,
|
||||||
|
'specialityID': specialityID,
|
||||||
|
'selectedOptions': selectedOptions,
|
||||||
|
'isMandatory': isMandatory,
|
||||||
|
'specialityDescription': specialityDescription,
|
||||||
|
'physicalExaminationCondition': physicalExaminationCondition,
|
||||||
|
'loginUserId': loginUserId,
|
||||||
|
'remark': remark,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
class SOAPClinic {
|
||||||
|
int? clinicGroupID;
|
||||||
|
String? clinicGroupName;
|
||||||
|
int? clinicID;
|
||||||
|
String? clinicNameArabic;
|
||||||
|
String? clinicNameEnglish;
|
||||||
|
|
||||||
|
SOAPClinic({
|
||||||
|
this.clinicGroupID,
|
||||||
|
this.clinicGroupName,
|
||||||
|
this.clinicID,
|
||||||
|
this.clinicNameArabic,
|
||||||
|
this.clinicNameEnglish,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory SOAPClinic.fromJson(Map<String, dynamic> json) {
|
||||||
|
return SOAPClinic(
|
||||||
|
clinicGroupID: json['clinicGroupID'],
|
||||||
|
clinicGroupName: json['clinicGroupName'],
|
||||||
|
clinicID: json['clinicID'],
|
||||||
|
clinicNameArabic: json['clinicNameArabic'],
|
||||||
|
clinicNameEnglish: json['clinicNameEnglish'],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'clinicGroupID': clinicGroupID,
|
||||||
|
'clinicGroupName': clinicGroupName,
|
||||||
|
'clinicID': clinicID,
|
||||||
|
'clinicNameArabic': clinicNameArabic,
|
||||||
|
'clinicNameEnglish': clinicNameEnglish,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
class PatientCondition{
|
||||||
|
String? code;
|
||||||
|
int? id;
|
||||||
|
String? name;
|
||||||
|
|
||||||
|
PatientCondition.fromJson(Map<dynamic, dynamic> json){
|
||||||
|
name = json['name'] ?? '';
|
||||||
|
id = json['id'] ?? -1;
|
||||||
|
code = json['code'] ?? '';
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,85 @@
|
|||||||
|
class ProgressNote {
|
||||||
|
int? clinicGroupId;
|
||||||
|
int? clinicId;
|
||||||
|
int? createdById;
|
||||||
|
String? createdOn;
|
||||||
|
int? employeeId;
|
||||||
|
int? hospitalGroupId;
|
||||||
|
int? hospitalId;
|
||||||
|
String? loginUserId;
|
||||||
|
String? manualDate;
|
||||||
|
String? modifiedOn;
|
||||||
|
String? patientCondition;
|
||||||
|
String? patientConditionName;
|
||||||
|
int? patientId;
|
||||||
|
int? patientPomrId;
|
||||||
|
String? progressNote;
|
||||||
|
int? progressNoteId;
|
||||||
|
String? progressNotesTypes;
|
||||||
|
String? progressNotesTypesName;
|
||||||
|
String? speciality;
|
||||||
|
String? specialityName;
|
||||||
|
int? subCategoryId;
|
||||||
|
String? userFullName;
|
||||||
|
int? userId;
|
||||||
|
String? userType;
|
||||||
|
|
||||||
|
ProgressNote();
|
||||||
|
|
||||||
|
ProgressNote.fromJson(Map<String, dynamic> json) {
|
||||||
|
clinicGroupId = json['clinicGroupId'];
|
||||||
|
clinicId = json['clinicId'];
|
||||||
|
createdById = json['createdById'];
|
||||||
|
createdOn = json['createdOn'];
|
||||||
|
employeeId = json['employeeId'];
|
||||||
|
hospitalGroupId = json['hospitalGroupId'];
|
||||||
|
hospitalId = json['hospitalId'];
|
||||||
|
loginUserId = json['loginUserId'];
|
||||||
|
manualDate = json['manualDate'];
|
||||||
|
modifiedOn = json['modifiedOn'];
|
||||||
|
patientCondition = json['patientCondition'];
|
||||||
|
patientConditionName = json['patientConditionName'];
|
||||||
|
patientId = json['patientId'];
|
||||||
|
patientPomrId = json['patientPomrId'];
|
||||||
|
progressNote = json['progressNote'];
|
||||||
|
progressNoteId = json['progressNoteId'];
|
||||||
|
progressNotesTypes = json['progressNotesTypes'];
|
||||||
|
progressNotesTypesName = json['progressNotesTypesName'];
|
||||||
|
speciality = json['speciality'];
|
||||||
|
specialityName = json['specialityName'];
|
||||||
|
subCategoryId = json['subCategoryId'];
|
||||||
|
userFullName = json['userFullName'];
|
||||||
|
userId = json['userId'];
|
||||||
|
userType = json['userType'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// toJson method
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
return {
|
||||||
|
'clinicGroupId': clinicGroupId,
|
||||||
|
'clinicId': clinicId,
|
||||||
|
'createdById': createdById,
|
||||||
|
'createdOn': createdOn,
|
||||||
|
'employeeId': employeeId,
|
||||||
|
'hospitalGroupId': hospitalGroupId,
|
||||||
|
'hospitalId': hospitalId,
|
||||||
|
'loginUserId': loginUserId,
|
||||||
|
'manualDate': manualDate,
|
||||||
|
'modifiedOn': modifiedOn,
|
||||||
|
'patientCondition': patientCondition,
|
||||||
|
'patientConditionName': patientConditionName,
|
||||||
|
'patientId': patientId,
|
||||||
|
'patientPomrId': patientPomrId,
|
||||||
|
'progressNote': progressNote,
|
||||||
|
'progressNoteId': progressNoteId,
|
||||||
|
'progressNotesTypes': progressNotesTypes,
|
||||||
|
'progressNotesTypesName': progressNotesTypesName,
|
||||||
|
'speciality': speciality,
|
||||||
|
'specialityName': specialityName,
|
||||||
|
'subCategoryId': subCategoryId,
|
||||||
|
'userFullName': userFullName,
|
||||||
|
'userId': userId,
|
||||||
|
'userType': userType,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,104 @@
|
|||||||
|
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/enum/view_state.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/patient_search/patient_search_header.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/enter_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/favotite_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:hexcolor/hexcolor.dart';
|
||||||
|
|
||||||
|
class AddDiagnosis extends StatefulWidget {
|
||||||
|
final PatiantInformtion patientInfo;
|
||||||
|
|
||||||
|
const AddDiagnosis({super.key, required this.patientInfo});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<AddDiagnosis> createState() => _AddDiagnosisState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _AddDiagnosisState extends State<AddDiagnosis>
|
||||||
|
with SingleTickerProviderStateMixin {
|
||||||
|
TabController? _tabController;
|
||||||
|
bool isLoading = true;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
_tabController = new TabController(length: 2, vsync: this);
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return BaseView<SOAPViewModel>(
|
||||||
|
onModelReady: (model) {
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
model.getConditionAndType(widget.patientInfo);
|
||||||
|
model.favoriteDiagnosis(widget.patientInfo);
|
||||||
|
setState(() {
|
||||||
|
isLoading = false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
builder: (_, model, w) => AppScaffold(
|
||||||
|
isLoading: model.state == ViewState.BusyLocal ,
|
||||||
|
isShowAppBar: true,
|
||||||
|
appBar: PatientSearchHeader(
|
||||||
|
title: TranslationBase.of(context).addDiagnosis),
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
body: Column(
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
height: 56,
|
||||||
|
child: TabBar(
|
||||||
|
indicatorColor: Color(0xFFD02127),
|
||||||
|
unselectedLabelColor: Color(0xFF6D6D6D),
|
||||||
|
labelColor: Color(0xFF2B353E),
|
||||||
|
controller: _tabController,
|
||||||
|
tabs: [
|
||||||
|
Tab(
|
||||||
|
child: Text(
|
||||||
|
TranslationBase.of(context).mappedDiagnosis,
|
||||||
|
style:TextStyle(
|
||||||
|
color: Color(0xFF6D6D6D),
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
letterSpacing: -0.56,
|
||||||
|
)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Tab(
|
||||||
|
child: Text(
|
||||||
|
TranslationBase.of(context).favoriteDiagnosis,
|
||||||
|
style: TextStyle(color: Color(0xFF6D6D6D),
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
letterSpacing: -0.56,)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: TabBarView(
|
||||||
|
controller: _tabController,
|
||||||
|
children: [
|
||||||
|
EnterDiagnosis(
|
||||||
|
patientInfo: widget.patientInfo,
|
||||||
|
),
|
||||||
|
FavoriteDiagnosis(
|
||||||
|
patientInfo: widget.patientInfo,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,228 @@
|
|||||||
|
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/enum/view_state.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/master_key_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/selected_items/my_selected_assement.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/assessment/assessment_call_back.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/SOAP_open_items.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/SOAP_step_header.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/expandable_SOAP_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/shared_soap_widgets/remark_text.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update/soap_utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/date-utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
|
import '../../soap_update/assessment/add_assessment_details.dart';
|
||||||
|
|
||||||
|
import 'widget/current_diagnosis.dart';
|
||||||
|
import 'widget/previous_diagnosis.dart';
|
||||||
|
|
||||||
|
// ignore: must_be_immutable
|
||||||
|
class UpdateAssessmentPage extends StatefulWidget {
|
||||||
|
final Function changePageViewIndex;
|
||||||
|
final PatiantInformtion patientInfo;
|
||||||
|
final Function changeLoadingState;
|
||||||
|
final int currentIndex;
|
||||||
|
|
||||||
|
UpdateAssessmentPage(
|
||||||
|
{Key? key,
|
||||||
|
required this.changePageViewIndex,
|
||||||
|
required this.patientInfo,
|
||||||
|
required this.changeLoadingState,
|
||||||
|
required this.currentIndex});
|
||||||
|
|
||||||
|
@override
|
||||||
|
_UpdateAssessmentPageState createState() => _UpdateAssessmentPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _UpdateAssessmentPageState extends State<UpdateAssessmentPage>
|
||||||
|
with SingleTickerProviderStateMixin
|
||||||
|
implements AssessmentCallBack {
|
||||||
|
bool isAssessmentExpand = false;
|
||||||
|
List<MySelectedAssessment> mySelectedAssessmentList = [];
|
||||||
|
bool isPrescriptionOrder = false;
|
||||||
|
TabController? _tabController;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
_tabController = new TabController(length: 2, vsync: this);
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
ProjectViewModel projectViewModel = Provider.of(context);
|
||||||
|
|
||||||
|
return BaseView<SOAPViewModel>(
|
||||||
|
onModelReady: (model) async {
|
||||||
|
model.setAssessmentCallBack(this);
|
||||||
|
mySelectedAssessmentList.clear();
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||||
|
widget.changeLoadingState(true);
|
||||||
|
model.getConditionAndType(widget.patientInfo);
|
||||||
|
model.getPreviousPatientDetails(widget.patientInfo);
|
||||||
|
model.getCurrentDiagnosisList(widget.patientInfo);
|
||||||
|
widget.changeLoadingState(false);
|
||||||
|
//todo handle get diagnosis list
|
||||||
|
});
|
||||||
|
},
|
||||||
|
builder: (_, model, w) => AppScaffold(
|
||||||
|
isShowAppBar: false,
|
||||||
|
isLoading: model.state == ViewState.BusyLocal,
|
||||||
|
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
|
||||||
|
body: SingleChildScrollView(
|
||||||
|
physics: ScrollPhysics(),
|
||||||
|
child: Container(
|
||||||
|
color: Theme.of(context).scaffoldBackgroundColor,
|
||||||
|
child: Center(
|
||||||
|
child: FractionallySizedBox(
|
||||||
|
widthFactor: 0.9,
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
SOAPStepHeader(
|
||||||
|
currentIndex: widget.currentIndex,
|
||||||
|
changePageViewIndex: widget.changePageViewIndex,
|
||||||
|
patientInfo: widget.patientInfo,
|
||||||
|
),
|
||||||
|
ExpandableSOAPWidget(
|
||||||
|
headerTitle: TranslationBase.of(context).assessment,
|
||||||
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
|
isAssessmentExpand = !isAssessmentExpand;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Column(children: [
|
||||||
|
SizedBox(
|
||||||
|
height: 10,
|
||||||
|
),
|
||||||
|
|
||||||
|
SizedBox(
|
||||||
|
height: 64,
|
||||||
|
child: TabBar(
|
||||||
|
indicatorColor: Color(0xFFD02127),
|
||||||
|
unselectedLabelColor: Color(0xFF6D6D6D),
|
||||||
|
labelColor: Color(0xFF2B353E),
|
||||||
|
tabs: [
|
||||||
|
Tab(
|
||||||
|
child: Text(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.currentDiagnosis,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Color(0xFF6D6D6D),
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
letterSpacing: -0.56,)
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Tab(
|
||||||
|
child: Text(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.previousDiagnosis,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Color(0xFF6D6D6D),
|
||||||
|
fontSize: 14,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
letterSpacing: -0.56,)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
],
|
||||||
|
controller: _tabController,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 300,
|
||||||
|
child: TabBarView(
|
||||||
|
controller: _tabController,
|
||||||
|
children: [
|
||||||
|
CurrentDiagnosis(
|
||||||
|
patientInfo: widget.patientInfo,
|
||||||
|
model: model,
|
||||||
|
currentDiagnosisItems: model.diagnosisList,
|
||||||
|
),
|
||||||
|
PreviousDiagnosis(
|
||||||
|
diagnosisItems: model.patientPreviousDiagnosis,
|
||||||
|
patientInfo: widget.patientInfo,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
]),
|
||||||
|
isExpanded: isAssessmentExpand,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 130,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
openAssessmentDialog(BuildContext context,
|
||||||
|
{MySelectedAssessment? assessment,
|
||||||
|
bool isUpdate = false,
|
||||||
|
required SOAPViewModel model}) {
|
||||||
|
if (assessment == null) {
|
||||||
|
assessment = SoapUtils.generateMySelectedAssessment(
|
||||||
|
remark: '', appointmentNo: widget.patientInfo.appointmentNo);
|
||||||
|
}
|
||||||
|
showModalBottomSheet(
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
isScrollControlled: true,
|
||||||
|
context: context,
|
||||||
|
builder: (context) {
|
||||||
|
return AddAssessmentDetails(
|
||||||
|
mySelectedAssessment: assessment!,
|
||||||
|
patientInfo: widget.patientInfo,
|
||||||
|
isUpdate: isUpdate,
|
||||||
|
mySelectedAssessmentList: mySelectedAssessmentList,
|
||||||
|
addSelectedAssessment: (MySelectedAssessment mySelectedAssessment,
|
||||||
|
bool isUpdate) async {
|
||||||
|
setState(() {
|
||||||
|
if (!isUpdate)
|
||||||
|
mySelectedAssessmentList.add(mySelectedAssessment);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
nextFunction(model) {
|
||||||
|
if (mySelectedAssessmentList.isEmpty) {
|
||||||
|
Utils.showErrorToast(TranslationBase.of(context).assessmentErrorMsg);
|
||||||
|
} else if (!checkPrimaryDiagnosis()) {
|
||||||
|
Utils.showErrorToast(TranslationBase.of(context).onePrimaryDiagnosis);
|
||||||
|
} else {
|
||||||
|
widget.changeLoadingState(true);
|
||||||
|
widget.changePageViewIndex(3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool checkPrimaryDiagnosis() {
|
||||||
|
ProjectViewModel projectViewModel =
|
||||||
|
Provider.of<ProjectViewModel>(context, listen: false);
|
||||||
|
bool isVidaPlus = Utils.isVidaPlusProject(
|
||||||
|
projectViewModel, widget.patientInfo.projectId!);
|
||||||
|
List<MySelectedAssessment> type = mySelectedAssessmentList
|
||||||
|
.where((element) =>
|
||||||
|
(element.selectedDiagnosisType!.id == 2 && isVidaPlus == false) ||
|
||||||
|
(element.selectedDiagnosisType!.code == '3' && isVidaPlus == true))
|
||||||
|
.toList();
|
||||||
|
return type.isEmpty ? false : true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,94 @@
|
|||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/assessment/audit_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
class AuditItem extends StatelessWidget {
|
||||||
|
final AuditDiagnosis auditDiagnosis;
|
||||||
|
|
||||||
|
const AuditItem({super.key, required this.auditDiagnosis});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
AppText(
|
||||||
|
auditDiagnosis.createdBy ?? '',
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
fontSize: 12,
|
||||||
|
color: Color(0xFF2B353E),
|
||||||
|
),
|
||||||
|
AppText(
|
||||||
|
getDate(auditDiagnosis.createdOn?.isNotEmpty== true ? auditDiagnosis.createdOn ?? '' : auditDiagnosis.modifiedOn??''),
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
fontSize: 10,
|
||||||
|
color: Color(0xFF2B353E),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
SizedBox(height: 4,),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
AppText(
|
||||||
|
"${TranslationBase.of(context).diagnosis}: ${auditDiagnosis.diagnosisType}",
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
fontSize: 12,
|
||||||
|
color: Color(0xFF2B353E),
|
||||||
|
),
|
||||||
|
AppText(
|
||||||
|
getTime(auditDiagnosis.createdOn?.isNotEmpty== true ? auditDiagnosis.createdOn ?? '' : auditDiagnosis.modifiedOn??''),
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
fontSize: 10,
|
||||||
|
color: Color(0xFF2B353E),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 4,
|
||||||
|
),
|
||||||
|
|
||||||
|
Visibility(
|
||||||
|
visible: auditDiagnosis.deletedRemarks?.isEmpty == true,
|
||||||
|
child: AppText(
|
||||||
|
//todo handle the item after the discussion from the vidapro team this is temporary
|
||||||
|
"${TranslationBase.of(context).remarks}: ${auditDiagnosis.remarks?.isNotEmpty == true? auditDiagnosis.remarks : TranslationBase.of(context).noRemarks}",
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
fontSize: 12,
|
||||||
|
color: Color(0xFF2B353E),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Visibility(
|
||||||
|
visible: auditDiagnosis.deletedRemarks?.isNotEmpty == true,
|
||||||
|
child: AppText(
|
||||||
|
//todo handle the item after the discussion from the vidapro team this is temporary
|
||||||
|
"${TranslationBase.of(context).deletedRemarks}${auditDiagnosis.deletedRemarks}",
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
fontSize: 12,
|
||||||
|
color: Color(0xFF2B353E),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
String getDate(String dateTime) {
|
||||||
|
if (dateTime.isEmpty) return '';
|
||||||
|
DateTime now = DateTime.now();
|
||||||
|
return DateFormat('dd MMM yyyy').format(now);
|
||||||
|
}
|
||||||
|
|
||||||
|
String getTime(String dateTime) {
|
||||||
|
if (dateTime.isEmpty) return '';
|
||||||
|
DateTime now = DateTime.now();
|
||||||
|
return DateFormat('hh:mm a').format(now);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,62 @@
|
|||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/assessment/audit_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/audit_item.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class AuditListBottomSheet extends StatelessWidget {
|
||||||
|
final List<AuditDiagnosis> auditList;
|
||||||
|
|
||||||
|
const AuditListBottomSheet({super.key, required this.auditList});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return SizedBox(
|
||||||
|
height: (auditList.length>1)?MediaQuery.sizeOf(context).height*.41:MediaQuery.sizeOf(context).height*.28,
|
||||||
|
child: Material(
|
||||||
|
color: Color(0xFFF7F7F7),
|
||||||
|
shape: RoundedRectangleBorder(borderRadius: BorderRadius.only(topLeft: Radius.circular(20), topRight: Radius.circular(20))),
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 20.0, vertical: 32),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
AppText(
|
||||||
|
TranslationBase.of(context).audit,
|
||||||
|
fontWeight: FontWeight.w700,
|
||||||
|
fontSize: 24,
|
||||||
|
color: Color(0xFF2B353E),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: (auditList.length>1)?MediaQuery.sizeOf(context).height*.25:MediaQuery.sizeOf(context).height*.12,
|
||||||
|
child: Material(
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10)),
|
||||||
|
color: Colors.white,
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.max,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: ListView.separated(
|
||||||
|
|
||||||
|
itemCount: auditList.length,
|
||||||
|
itemBuilder: (context, index) => AuditItem(
|
||||||
|
auditDiagnosis: auditList[index],
|
||||||
|
),
|
||||||
|
separatorBuilder: (_, __) => Divider(),
|
||||||
|
))
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,324 @@
|
|||||||
|
import 'package:doctor_app_flutter/config/config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/assessment/audit_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/assessment/patient_previous_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/add_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/audit_list_bottom_sheet.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/edit_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/empty_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/subjective/chief_complaint/widgets/add_soap_item.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/widgets/SoapDetailItem.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import '../../../../../../widgets/shared/text_fields/app-textfield-custom.dart';
|
||||||
|
|
||||||
|
class CurrentDiagnosis extends StatefulWidget {
|
||||||
|
final PatiantInformtion patientInfo;
|
||||||
|
final List<PatientPreviousDiagnosis> currentDiagnosisItems;
|
||||||
|
final SOAPViewModel model;
|
||||||
|
|
||||||
|
const CurrentDiagnosis(
|
||||||
|
{super.key,
|
||||||
|
required this.currentDiagnosisItems,
|
||||||
|
required this.patientInfo,
|
||||||
|
required this.model});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<CurrentDiagnosis> createState() => _CurrentDiagnosisState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CurrentDiagnosisState extends State<CurrentDiagnosis> {
|
||||||
|
TextEditingController deleteController = TextEditingController();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return BaseView<SOAPViewModel>(
|
||||||
|
onModelReady: (model) async {},
|
||||||
|
builder: (_, model, w) {
|
||||||
|
if (model.showAudit) {
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
showAuditBottomSheet(context, model.auditDiagnosislist,
|
||||||
|
model.toggleShowBottomSheetValue);
|
||||||
|
model.toggleShowBottomSheetValue(false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.max,
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
height: 10,
|
||||||
|
),
|
||||||
|
AddSoapItem(
|
||||||
|
title: TranslationBase.of(context).addNewDiagnosis,
|
||||||
|
onAddSoapItemClicked: () async {
|
||||||
|
bool result = await Navigator.push(
|
||||||
|
context,
|
||||||
|
FadePage(
|
||||||
|
page: AddDiagnosis(
|
||||||
|
patientInfo: widget.patientInfo,
|
||||||
|
)));
|
||||||
|
if (result) {
|
||||||
|
model.getCurrentDiagnosisList(widget.patientInfo);
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
Divider(),
|
||||||
|
SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
if (widget.currentDiagnosisItems.isEmpty) ...{
|
||||||
|
Center(
|
||||||
|
child: EmptyDiagnosis(),
|
||||||
|
),
|
||||||
|
} else ...{
|
||||||
|
Flexible(
|
||||||
|
child: ListView.separated(
|
||||||
|
itemBuilder: (_, index) {
|
||||||
|
return SoapDetailItem(
|
||||||
|
title: widget.currentDiagnosisItems[index]
|
||||||
|
.selectedDisease ??
|
||||||
|
'',
|
||||||
|
status:
|
||||||
|
widget.currentDiagnosisItems[index].status ??
|
||||||
|
'',
|
||||||
|
condition: model.getConditionValue(widget
|
||||||
|
.currentDiagnosisItems[index]
|
||||||
|
.condition ??
|
||||||
|
'') ??
|
||||||
|
'',
|
||||||
|
type: model.getDiagnosisTypeValue(widget
|
||||||
|
.currentDiagnosisItems[index]
|
||||||
|
.diagnosisType ??
|
||||||
|
'') ??
|
||||||
|
'',
|
||||||
|
remarks:
|
||||||
|
widget.currentDiagnosisItems[index].remarks ??
|
||||||
|
'',
|
||||||
|
onSoapDetailActionClicked: (action) async {
|
||||||
|
switch (action) {
|
||||||
|
case SoapDetailItemActions.AUDIT:
|
||||||
|
model.getAuditOfDiagnosis(
|
||||||
|
widget.patientInfo,
|
||||||
|
widget.currentDiagnosisItems[index]
|
||||||
|
.patientProblemRevisionId
|
||||||
|
?.toString() ??
|
||||||
|
'');
|
||||||
|
break;
|
||||||
|
case SoapDetailItemActions.EDIT:
|
||||||
|
if (widget.currentDiagnosisItems[index]
|
||||||
|
.status ==
|
||||||
|
"Deleted") {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.diagnosisAlreadyDeleted);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (widget.currentDiagnosisItems[index]
|
||||||
|
.resolved ==
|
||||||
|
true) {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.diagnosisAlreadyResolved);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool result = await Navigator.push(
|
||||||
|
context,
|
||||||
|
FadePage(
|
||||||
|
page: EditDiagnosis(
|
||||||
|
patientInfo: widget.patientInfo,
|
||||||
|
diagnosis: widget
|
||||||
|
.currentDiagnosisItems[index],
|
||||||
|
)));
|
||||||
|
if (result) {
|
||||||
|
model.getCurrentDiagnosisList(
|
||||||
|
widget.patientInfo);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SoapDetailItemActions.RESOLVE:
|
||||||
|
if (widget.currentDiagnosisItems[index]
|
||||||
|
.status ==
|
||||||
|
"Deleted") {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.diagnosisAlreadyDeleted);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (widget.currentDiagnosisItems[index]
|
||||||
|
.resolved ==
|
||||||
|
true) {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.diagnosisAlreadyResolved);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
bool result = await model.resolveDiagnosis(
|
||||||
|
widget.currentDiagnosisItems[index],
|
||||||
|
widget.patientInfo);
|
||||||
|
if (result) {
|
||||||
|
model.getCurrentDiagnosisList(
|
||||||
|
widget.patientInfo);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SoapDetailItemActions.REMOVE:
|
||||||
|
if (widget.currentDiagnosisItems[index]
|
||||||
|
.status ==
|
||||||
|
"Deleted") {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.diagnosisAlreadyDeleted);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (widget.currentDiagnosisItems[index]
|
||||||
|
.resolved ==
|
||||||
|
true) {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.diagnosisAlreadyResolved);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
showConfirmationDialog(context,
|
||||||
|
"${TranslationBase.of(context).delete} ${TranslationBase.of(context).diagnosis}",
|
||||||
|
(remarks) {
|
||||||
|
widget.model.removeDiagnosis(
|
||||||
|
widget.patientInfo,
|
||||||
|
widget.currentDiagnosisItems[index],
|
||||||
|
remarks);
|
||||||
|
});
|
||||||
|
|
||||||
|
case SoapDetailItemActions.CHANGE_STATUS:
|
||||||
|
// TODO: Handle this case.
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
separatorBuilder: (_, index) => Divider(),
|
||||||
|
itemCount: widget.currentDiagnosisItems.length))
|
||||||
|
}
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
showConfirmationDialog(
|
||||||
|
BuildContext context, String message, Function(String) okFunction) {
|
||||||
|
return showDialog(
|
||||||
|
context: context,
|
||||||
|
barrierDismissible: true, // user must tap button!
|
||||||
|
builder: (_) {
|
||||||
|
return Container(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
AlertDialog(
|
||||||
|
title: null,
|
||||||
|
content: Container(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
AppText(message),
|
||||||
|
SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
AppText(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.areYouSureYouWantToDeleteDiagnosis,
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
AppTextFieldCustom(
|
||||||
|
hintText: TranslationBase.of(context).remarks,
|
||||||
|
controller: deleteController,
|
||||||
|
maxLines: 25,
|
||||||
|
minLines: 3,
|
||||||
|
hasBorder: true,
|
||||||
|
onChanged: (value) {},
|
||||||
|
inputType: TextInputType.multiline,
|
||||||
|
onClick: () {},
|
||||||
|
onFieldSubmitted: () {},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
actions: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: AppButton(
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
title: TranslationBase.of(context).cancel,
|
||||||
|
fontColor: Colors.black,
|
||||||
|
color: Color(0xffEAEAEA),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 8,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: AppButton(
|
||||||
|
onPressed: () {
|
||||||
|
if (deleteController.text.isEmpty) {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.remarksCanNotBeEmpty);
|
||||||
|
return;
|
||||||
|
;
|
||||||
|
}
|
||||||
|
okFunction(deleteController.text);
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
title: TranslationBase.of(context).delete,
|
||||||
|
fontColor: Colors.white,
|
||||||
|
color: Colors.red[600],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}).then((value) {
|
||||||
|
deleteController.clear();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void showAuditBottomSheet(
|
||||||
|
BuildContext context,
|
||||||
|
List<AuditDiagnosis> diagnosis,
|
||||||
|
void Function(bool status) toggleShowBottomSheetValue,
|
||||||
|
) {
|
||||||
|
showModalBottomSheet(
|
||||||
|
isDismissible: true,
|
||||||
|
context: context,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.only(
|
||||||
|
topLeft: Radius.circular(20), topRight: Radius.circular(20))),
|
||||||
|
builder: (_) {
|
||||||
|
return AuditListBottomSheet(
|
||||||
|
auditList: diagnosis,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
).then((value) => toggleShowBottomSheetValue(false));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,495 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:doctor_app_flutter/config/config.dart';
|
||||||
|
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/enum/view_state.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/assessment/diagnosis_type.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/assessment/patient_previous_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/SOAP/assessment/search_diagnosis.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/viewModel/SOAP_view_model.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/base/base_view.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/patient_search/patient_search_header.dart';
|
||||||
|
import 'package:doctor_app_flutter/screens/patients/profile/soap_update_vida_plus/assessment/widget/empty_dropdown.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/dr_app_toast_msg.dart';
|
||||||
|
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/buttons/app_buttons_widget.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/text_fields/app-textfield-custom.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
import 'package:get_it/get_it.dart';
|
||||||
|
import 'package:hexcolor/hexcolor.dart';
|
||||||
|
|
||||||
|
class EditDiagnosis extends StatefulWidget {
|
||||||
|
final PatiantInformtion patientInfo;
|
||||||
|
final PatientPreviousDiagnosis diagnosis;
|
||||||
|
|
||||||
|
const EditDiagnosis(
|
||||||
|
{super.key, required this.patientInfo, required this.diagnosis});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<EditDiagnosis> createState() => _EditDiagnosisState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _EditDiagnosisState extends State<EditDiagnosis> {
|
||||||
|
final TextEditingController filteredSearchController =
|
||||||
|
TextEditingController();
|
||||||
|
bool showAllDiagnosis = true;
|
||||||
|
String status = '';
|
||||||
|
String? selectedDiagnosisItem;
|
||||||
|
String? selectedDiagnosisItemValue;
|
||||||
|
TextEditingController remarksController = TextEditingController();
|
||||||
|
Timer? _tTimer;
|
||||||
|
SOAPViewModel? model;
|
||||||
|
SearchDiagnosis? selectedDiagnosis;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
filteredSearchController.text = widget.diagnosis.selectedDisease ?? '';
|
||||||
|
remarksController.text = widget.diagnosis.remarks ?? '';
|
||||||
|
selectedDiagnosisItemValue = widget.diagnosis?.diagnosisType ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
void _onTextChanged(String text) {
|
||||||
|
if (_tTimer != null) {
|
||||||
|
_tTimer!.cancel();
|
||||||
|
}
|
||||||
|
if(text.isEmpty) return;
|
||||||
|
|
||||||
|
_tTimer = Timer(Duration(milliseconds: 500), () {
|
||||||
|
_onStopped(text);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void _onStopped(String searchText) async {
|
||||||
|
FocusScope.of(context).unfocus();
|
||||||
|
await model?.searchDiagnosis(widget.patientInfo, searchText);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return BaseView<SOAPViewModel>(onModelReady: (model) {
|
||||||
|
this.model = model;
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
model.getConditionAndType(widget.patientInfo);
|
||||||
|
status =
|
||||||
|
model.getConditionValue(widget.diagnosis.condition ?? '') ?? '';
|
||||||
|
});
|
||||||
|
}, builder: (_, model, w) {
|
||||||
|
if (selectedDiagnosisItem == null && model.diagnosisTypeList.isNotEmpty) {
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
if (mounted) {
|
||||||
|
setState(() {
|
||||||
|
selectedDiagnosisItem = model.diagnosisTypeList.keys.firstWhere(
|
||||||
|
(k) =>
|
||||||
|
model.diagnosisTypeList[k] == selectedDiagnosisItemValue,
|
||||||
|
orElse: () => '');
|
||||||
|
if (selectedDiagnosisItem?.isEmpty == true)
|
||||||
|
selectedDiagnosisItem = null;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return AppScaffold(
|
||||||
|
isLoading: model.state == ViewState.BusyLocal,
|
||||||
|
isShowAppBar: true,
|
||||||
|
appBar: PatientSearchHeader(
|
||||||
|
title: TranslationBase.of(context).editDiagnosis),
|
||||||
|
body: SingleChildScrollView(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
AppText(
|
||||||
|
TranslationBase.of(context).editDiagnosis,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
color: Color(0xFF2E303A),
|
||||||
|
fontSize: 16,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
AppTextFieldCustom(
|
||||||
|
hintText: TranslationBase.of(context).diagnosis,
|
||||||
|
isTextFieldHasSuffix: true,
|
||||||
|
hasBorder: true,
|
||||||
|
controller: filteredSearchController,
|
||||||
|
onClick: () {
|
||||||
|
setState(
|
||||||
|
() {
|
||||||
|
selectedDiagnosis = null;
|
||||||
|
filteredSearchController.text = '';
|
||||||
|
model.selectedIcd = '';
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
onChanged: (value) {},
|
||||||
|
onFieldSubmitted: () {},
|
||||||
|
onEditingComplete: () {
|
||||||
|
if (filteredSearchController.text.isEmpty) return;
|
||||||
|
_onStopped(filteredSearchController.text);
|
||||||
|
},
|
||||||
|
suffixIcon: IconButton(
|
||||||
|
icon: Icon(
|
||||||
|
Icons.search,
|
||||||
|
color: Color(0xff2B353E),
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
onPressed: () {
|
||||||
|
if (filteredSearchController.text.isEmpty) return;
|
||||||
|
_onStopped(filteredSearchController.text);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Material(
|
||||||
|
elevation: 4.0, // Optional: for shadow effect
|
||||||
|
child: ConstrainedBox(
|
||||||
|
constraints: BoxConstraints(minHeight: 0, maxHeight: 300),
|
||||||
|
child: ListView.builder(
|
||||||
|
shrinkWrap: true,
|
||||||
|
itemCount: model.icdVersionList.length,
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
return ListTile(
|
||||||
|
title: InkWell(
|
||||||
|
child: AppText(model.icdVersionList[index]),
|
||||||
|
onTap: () {
|
||||||
|
setState(
|
||||||
|
() {
|
||||||
|
selectedDiagnosis =
|
||||||
|
model.findTheDiagnosisItem(
|
||||||
|
model.icdVersionList[index]);
|
||||||
|
filteredSearchController.text =
|
||||||
|
model.icdVersionList[index];
|
||||||
|
model.searchDiagnosisList.clear();
|
||||||
|
model.icdVersionList.clear();
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
// Row(
|
||||||
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
// children: [
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Switch(
|
||||||
|
// value: showAllDiagnosis,
|
||||||
|
// activeColor: Colors.red,
|
||||||
|
// onChanged: (bool value) {
|
||||||
|
// setState(() {
|
||||||
|
// showAllDiagnosis = value;
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// width: 8,
|
||||||
|
// ),
|
||||||
|
// AppText(
|
||||||
|
// TranslationBase.of(context).showAllDiagnosis,
|
||||||
|
// fontWeight: FontWeight.w500,
|
||||||
|
// color: Color(0xFF2E303A),
|
||||||
|
// fontSize: 11,
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// SvgPicture.asset('assets/images/svgs/information.svg'),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(bottom: 12),
|
||||||
|
child: AppText(
|
||||||
|
TranslationBase.of(context).condition,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
fontFamily: 'Poppins',
|
||||||
|
fontSize: 11,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: MediaQuery.sizeOf(context).width,
|
||||||
|
height: 24,
|
||||||
|
child: ListView.builder(
|
||||||
|
shrinkWrap: true,
|
||||||
|
scrollDirection: Axis.horizontal,
|
||||||
|
itemCount: model.conditionTypeList.length,
|
||||||
|
itemBuilder: (context, index) => InkWell(
|
||||||
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
|
status = model.conditionTypeList[index];
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
padding: EdgeInsets.all(2.0),
|
||||||
|
margin: EdgeInsets.symmetric(horizontal: 6),
|
||||||
|
width: 20,
|
||||||
|
height: 20,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
border: Border.all(
|
||||||
|
color: Colors.grey, width: 1),
|
||||||
|
),
|
||||||
|
child: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: status.toLowerCase() ==
|
||||||
|
model.conditionTypeList[index]
|
||||||
|
.toLowerCase()
|
||||||
|
? HexColor("#D02127")
|
||||||
|
: Colors.white,
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
AppText(
|
||||||
|
model.conditionTypeList[index],
|
||||||
|
fontWeight: FontWeight.normal,
|
||||||
|
fontFamily: 'Poppins',
|
||||||
|
fontSize: SizeConfig.textMultiplier! * 1.6,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
Material(
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
side: BorderSide(
|
||||||
|
width: 1,
|
||||||
|
color: Color(0xFFEFEFEF),
|
||||||
|
)),
|
||||||
|
color: Colors.white,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 16.0, vertical: 12),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
AppText(
|
||||||
|
TranslationBase.of(context).diagnoseType,
|
||||||
|
textAlign: TextAlign.start,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
fontSize: 11,
|
||||||
|
color: Color(0xFF2E303A),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 4,
|
||||||
|
),
|
||||||
|
model.diagnosisTypeList.isEmpty
|
||||||
|
? EmptyDropDown()
|
||||||
|
: DropdownButtonHideUnderline(
|
||||||
|
child: DropdownButton(
|
||||||
|
dropdownColor: Colors.white,
|
||||||
|
iconEnabledColor: Colors.black,
|
||||||
|
icon: Icon(Icons.keyboard_arrow_down),
|
||||||
|
isExpanded: true,
|
||||||
|
value: selectedDiagnosisItem == null
|
||||||
|
? model.diagnosisTypeList.keys.first
|
||||||
|
: selectedDiagnosisItem,
|
||||||
|
iconSize: 25,
|
||||||
|
elevation: 16,
|
||||||
|
onChanged: (newValue) async {
|
||||||
|
if (newValue != null)
|
||||||
|
setState(() {
|
||||||
|
selectedDiagnosisItem = newValue;
|
||||||
|
selectedDiagnosisItemValue =
|
||||||
|
model.diagnosisTypeList[newValue];
|
||||||
|
});
|
||||||
|
},
|
||||||
|
items:
|
||||||
|
model.diagnosisTypeList.keys.map((item) {
|
||||||
|
return DropdownMenuItem(
|
||||||
|
child: AppText(
|
||||||
|
item ?? '',
|
||||||
|
fontSize: 14,
|
||||||
|
letterSpacing: -0.96,
|
||||||
|
color: AppGlobal.appTextColor,
|
||||||
|
fontWeight: FontWeight.normal,
|
||||||
|
textAlign: TextAlign.left,
|
||||||
|
),
|
||||||
|
value: item,
|
||||||
|
);
|
||||||
|
}).toList(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(top: 8),
|
||||||
|
child: AppTextFieldCustom(
|
||||||
|
hintText: TranslationBase.of(context).remarks,
|
||||||
|
controller: remarksController,
|
||||||
|
minLines: 2,
|
||||||
|
maxLines: 4,
|
||||||
|
inputType: TextInputType.multiline,
|
||||||
|
onChanged: (value) {},
|
||||||
|
onClick: () {},
|
||||||
|
onFieldSubmitted: () {},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
// InkWell(
|
||||||
|
// onTap: () async {
|
||||||
|
// if (selectedDiagnosis != null) {
|
||||||
|
// SearchDiagnosis? diagnosis =
|
||||||
|
// await model.addToFavoriteDiagnosis(widget.patientInfo,
|
||||||
|
// diagnosis: selectedDiagnosis);
|
||||||
|
// setState(() {
|
||||||
|
// selectedDiagnosis = diagnosis;
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// SvgPicture.asset(selectedDiagnosis?.isFavorite == true
|
||||||
|
// ? 'assets/images/svgs/favoriteadded.svg'
|
||||||
|
// : 'assets/images/svgs/favorite.svg'),
|
||||||
|
// SizedBox(
|
||||||
|
// width: 4,
|
||||||
|
// ),
|
||||||
|
// AppText(
|
||||||
|
// TranslationBase.of(context).addToFavorite,
|
||||||
|
// textAlign: TextAlign.start,
|
||||||
|
// fontWeight: FontWeight.w600,
|
||||||
|
// fontSize: 10,
|
||||||
|
// color: Color(0xFF449BF1),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// )
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
bottomNavigationBar: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
borderRadius: BorderRadius.all(
|
||||||
|
Radius.circular(0.0),
|
||||||
|
),
|
||||||
|
border: Border.all(color: HexColor('#707070'), width: 0),
|
||||||
|
),
|
||||||
|
height: SizeConfig.heightMultiplier! *
|
||||||
|
(SizeConfig.isHeightVeryShort ? 12 : 10),
|
||||||
|
width: double.infinity,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(10),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Center(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: AppButton(
|
||||||
|
title: TranslationBase.of(context).previous,
|
||||||
|
color: Colors.grey[300]!,
|
||||||
|
fontColor: Colors.black,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.pop(context);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 5,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: AppButton(
|
||||||
|
title: TranslationBase.of(context).save,
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
color: Color(0xFF359846),
|
||||||
|
onPressed: () async {
|
||||||
|
selectedDiagnosisItem ??=
|
||||||
|
model.diagnosisTypeList.keys.first;
|
||||||
|
if (selectedDiagnosis == null &&
|
||||||
|
filteredSearchController.text.isEmpty) {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.selectedDiagnosis);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (status.isEmpty) {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.selectConditionFirst);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (remarksController.text.isEmpty) {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.remarksCanNotBeEmpty);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (filteredSearchController.text ==
|
||||||
|
widget.diagnosis.selectedDisease &&
|
||||||
|
status.toLowerCase() ==
|
||||||
|
widget.diagnosis.condition
|
||||||
|
?.toLowerCase() &&
|
||||||
|
widget.diagnosis.diagnosisType ==
|
||||||
|
selectedDiagnosisItemValue &&
|
||||||
|
widget.diagnosis.remarks ==
|
||||||
|
remarksController.text) {
|
||||||
|
DrAppToastMsg.showErrorToast(
|
||||||
|
TranslationBase.of(context)
|
||||||
|
.noChangeRecorded);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
widget.diagnosis.selectedDisease =
|
||||||
|
filteredSearchController.text;
|
||||||
|
widget.diagnosis.remarks = remarksController.text;
|
||||||
|
widget.diagnosis.condition = model.getConditionID(status);
|
||||||
|
widget.diagnosis.diagnosisType =
|
||||||
|
selectedDiagnosisItemValue;
|
||||||
|
|
||||||
|
if (selectedDiagnosis != null) {
|
||||||
|
widget.diagnosis.selectedCategoryCode =
|
||||||
|
selectedDiagnosis?.selectedCategoryCode ??
|
||||||
|
'';
|
||||||
|
widget.diagnosis.selectedIcdCode =
|
||||||
|
selectedDiagnosis?.selectedIcdCode ?? '';
|
||||||
|
widget.diagnosis.selectedChapterCode =
|
||||||
|
selectedDiagnosis?.selectedChapterCode ??
|
||||||
|
'';
|
||||||
|
widget.diagnosis.selectedSectionCode =
|
||||||
|
selectedDiagnosis?.selectedSectionCode ??
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
||||||
|
bool result =
|
||||||
|
await model.editDiagnosis(widget.diagnosis);
|
||||||
|
if (result) {
|
||||||
|
Navigator.pop(context, result);
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||