@openmrs/esm-patient-chart-app 11.3.1-pre.9294 → 11.3.1-pre.9304

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/.turbo/turbo-build.log +9 -9
  2. package/dist/1119.js +1 -1
  3. package/dist/1197.js +1 -1
  4. package/dist/2146.js +1 -1
  5. package/dist/2690.js +1 -1
  6. package/dist/276.js +1 -1
  7. package/dist/276.js.map +1 -1
  8. package/dist/2761.js +1 -1
  9. package/dist/2761.js.map +1 -1
  10. package/dist/2859.js +1 -1
  11. package/dist/2859.js.map +1 -1
  12. package/dist/3099.js +1 -1
  13. package/dist/3119.js +1 -1
  14. package/dist/3119.js.map +1 -1
  15. package/dist/3584.js +1 -1
  16. package/dist/4055.js +1 -1
  17. package/dist/4132.js +1 -1
  18. package/dist/4300.js +1 -1
  19. package/dist/4335.js +1 -1
  20. package/dist/4618.js +1 -1
  21. package/dist/4652.js +1 -1
  22. package/dist/4727.js +1 -1
  23. package/dist/4727.js.map +1 -1
  24. package/dist/4944.js +1 -1
  25. package/dist/5048.js +1 -1
  26. package/dist/5048.js.map +1 -1
  27. package/dist/5173.js +1 -1
  28. package/dist/5241.js +1 -1
  29. package/dist/5442.js +1 -1
  30. package/dist/5661.js +1 -1
  31. package/dist/6022.js +1 -1
  32. package/dist/6468.js +1 -1
  33. package/dist/6568.js +1 -0
  34. package/dist/6568.js.map +1 -0
  35. package/dist/6679.js +1 -1
  36. package/dist/6840.js +1 -1
  37. package/dist/6859.js +1 -1
  38. package/dist/7097.js +1 -1
  39. package/dist/7159.js +1 -1
  40. package/dist/723.js +1 -1
  41. package/dist/7617.js +1 -1
  42. package/dist/795.js +1 -1
  43. package/dist/8163.js +1 -1
  44. package/dist/8260.js +1 -0
  45. package/dist/8260.js.map +1 -0
  46. package/dist/8349.js +1 -1
  47. package/dist/8454.js +1 -1
  48. package/dist/8454.js.map +1 -1
  49. package/dist/8618.js +1 -1
  50. package/dist/890.js +1 -1
  51. package/dist/9214.js +1 -1
  52. package/dist/9329.js +1 -0
  53. package/dist/9329.js.map +1 -0
  54. package/dist/9538.js +1 -1
  55. package/dist/9569.js +1 -1
  56. package/dist/986.js +1 -1
  57. package/dist/9879.js +1 -1
  58. package/dist/9895.js +1 -1
  59. package/dist/9900.js +1 -1
  60. package/dist/9913.js +1 -1
  61. package/dist/main.js +1 -1
  62. package/dist/main.js.map +1 -1
  63. package/dist/openmrs-esm-patient-chart-app.js +1 -1
  64. package/dist/openmrs-esm-patient-chart-app.js.buildmanifest.json +214 -214
  65. package/dist/openmrs-esm-patient-chart-app.js.map +1 -1
  66. package/dist/routes.json +1 -1
  67. package/package.json +2 -2
  68. package/src/actions-buttons/delete-visit.component.tsx +8 -3
  69. package/src/actions-buttons/stop-visit.component.tsx +1 -1
  70. package/src/clinical-views/encounter-list/{encounter-list-tabs.component.tsx → encounter-list-tabs.extension.tsx} +10 -6
  71. package/src/index.ts +4 -4
  72. package/src/mark-patient-deceased/mark-patient-deceased-form.test.tsx +2 -0
  73. package/src/patient-banner-tags/{visit-attribute-tags.component.tsx → visit-attribute-tags.extension.tsx} +6 -4
  74. package/src/patient-chart/patient-chart.component.tsx +39 -65
  75. package/src/patient-chart/patient-chart.resources.ts +108 -0
  76. package/src/visit/hooks/useDeleteVisit.test.tsx +39 -42
  77. package/src/visit/hooks/useDeleteVisit.tsx +33 -17
  78. package/src/visit/visit-form/visit-form.test.tsx +3 -9
  79. package/src/visit/visit-form/visit-form.workspace.tsx +17 -7
  80. package/src/visit/visit-prompt/delete-visit-dialog.component.tsx +10 -4
  81. package/src/visit/visit-prompt/delete-visit-dialog.test.tsx +20 -2
  82. package/src/visit/visit-prompt/end-visit-dialog.component.tsx +7 -1
  83. package/src/visit/visit-prompt/end-visit-dialog.test.tsx +19 -0
  84. package/src/visit/visits-widget/active-visit-buttons/active-visit-buttons.tsx +7 -6
  85. package/src/visit/visits-widget/{current-visit-summary.component.tsx → current-visit-summary.extension.tsx} +13 -20
  86. package/src/visit/visits-widget/current-visit-summary.test.tsx +45 -25
  87. package/src/visit/visits-widget/past-visits-components/encounters-table/encounters-table.component.tsx +4 -3
  88. package/src/visit/visits-widget/past-visits-components/encounters-table/encounters-table.resource.ts +0 -1
  89. package/src/visit/visits-widget/visit-context/retrospective-data-date-time-picker/retrospective-date-time-picker.component.tsx +6 -8
  90. package/src/visit/visits-widget/visit-context/{visit-context-header.component.tsx → visit-context-header.extension.tsx} +17 -15
  91. package/src/visit/visits-widget/visit-context/visit-context-header.test.tsx +35 -29
  92. package/src/visit/visits-widget/visit-context/visit-context-switcher.modal.tsx +13 -11
  93. package/src/visit/visits-widget/visit-context/visit-context-switcher.test.tsx +50 -30
  94. package/src/visit/visits-widget/visit.resource.tsx +1 -1
  95. package/translations/am.json +1 -3
  96. package/translations/ar.json +1 -3
  97. package/translations/ar_SY.json +1 -3
  98. package/translations/bn.json +1 -3
  99. package/translations/de.json +1 -3
  100. package/translations/en.json +1 -3
  101. package/translations/en_US.json +1 -3
  102. package/translations/es.json +1 -3
  103. package/translations/es_MX.json +1 -3
  104. package/translations/fr.json +1 -3
  105. package/translations/he.json +1 -3
  106. package/translations/hi.json +1 -3
  107. package/translations/hi_IN.json +1 -3
  108. package/translations/id.json +1 -3
  109. package/translations/it.json +1 -3
  110. package/translations/ka.json +1 -3
  111. package/translations/km.json +1 -3
  112. package/translations/ku.json +1 -3
  113. package/translations/ky.json +1 -3
  114. package/translations/lg.json +1 -3
  115. package/translations/ne.json +1 -3
  116. package/translations/pl.json +1 -3
  117. package/translations/pt.json +1 -3
  118. package/translations/pt_BR.json +1 -3
  119. package/translations/qu.json +1 -3
  120. package/translations/ro_RO.json +1 -3
  121. package/translations/ru_RU.json +1 -3
  122. package/translations/si.json +1 -3
  123. package/translations/sw.json +1 -3
  124. package/translations/sw_KE.json +1 -3
  125. package/translations/tr.json +1 -3
  126. package/translations/tr_TR.json +1 -3
  127. package/translations/uk.json +1 -3
  128. package/translations/uz.json +1 -3
  129. package/translations/uz@Latn.json +1 -3
  130. package/translations/uz_UZ.json +1 -3
  131. package/translations/vi.json +1 -3
  132. package/translations/zh.json +1 -3
  133. package/translations/zh_CN.json +1 -3
  134. package/dist/2442.js +0 -1
  135. package/dist/2442.js.map +0 -1
  136. package/dist/3042.js +0 -1
  137. package/dist/3042.js.map +0 -1
  138. package/dist/4713.js +0 -1
  139. package/dist/4713.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"openmrs-esm-patient-chart-app.js","mappings":"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","sources":["webpack://@openmrs/esm-patient-chart-app/webpack/runtime/create fake namespace object","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/load script","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/consumes","webpack://@openmrs/esm-patient-chart-app/webpack/container-entry","webpack://@openmrs/esm-patient-chart-app/webpack/bootstrap","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/define property getters","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/global","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/sharing","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/publicPath","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/nonce","webpack://@openmrs/esm-patient-chart-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","loaded","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"openmrs-esm-patient-chart-app.js","mappings":"0DACIA,EADAC,ECAAC,EACAC,ECDAC,EAIAC,EAIAC,EAIAC,EAIAC,EAGAC,EAIAC,EAuBAC,EAMAC,EAUAC,EAMAC,EAWAC,EA0BAC,EAgBAC,EACAC,EAiBAC,EAkCAC,E,mBC7KJ,IAAIC,EAAY,CACf,UAAW,IACHC,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAASF,EAAoB,SAG5Mf,EAAM,CAACkB,EAAQC,KAClBJ,EAAoBK,EAAID,EACxBA,EACCJ,EAAoBM,EAAET,EAAWM,GAC9BN,EAAUM,KACVL,QAAQS,UAAUL,MAAK,KACxB,MAAM,IAAIM,MAAM,WAAaL,EAAS,qCAGzCH,EAAoBK,OAAII,EACjBL,GAEJM,EAAO,CAACC,EAAYC,KACvB,GAAKZ,EAAoBa,EAAzB,CACA,IAAIC,EAAO,UACPC,EAAWf,EAAoBa,EAAEC,GACrC,GAAGC,GAAYA,IAAaJ,EAAY,MAAM,IAAIH,MAAM,mGAExD,OADAR,EAAoBa,EAAEC,GAAQH,EACvBX,EAAoBgB,EAAEF,EAAMF,EALD,GASnCZ,EAAoBiB,EAAEC,EAAS,CAC9BjC,IAAK,IAAM,EACXyB,KAAM,IAAM,G,GC5BTS,EAA2B,CAAC,EAGhC,SAASnB,EAAoBoB,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqBX,IAAjBY,EACH,OAAOA,EAAaH,QAGrB,IAAIf,EAASgB,EAAyBC,GAAY,CACjDE,GAAIF,EAEJF,QAAS,CAAC,GAOX,OAHAK,EAAoBH,GAAUI,KAAKrB,EAAOe,QAASf,EAAQA,EAAOe,QAASlB,GAGpEG,EAAOe,OACf,CAGAlB,EAAoByB,EAAIF,EAGxBvB,EAAoB0B,EAAIP,EC3BxBnB,EAAoB2B,EAAKxB,IACxB,IAAIyB,EAASzB,GAAUA,EAAO0B,WAC7B,IAAO1B,EAAiB,QACxB,IAAM,EAEP,OADAH,EAAoBiB,EAAEW,EAAQ,CAAEE,EAAGF,IAC5BA,GLNJnD,EAAWsD,OAAOC,eAAkBC,GAASF,OAAOC,eAAeC,GAASA,GAASA,EAAa,UAQtGjC,EAAoBkC,EAAI,SAASC,EAAOC,GAEvC,GADU,EAAPA,IAAUD,EAAQE,KAAKF,IAChB,EAAPC,EAAU,OAAOD,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPC,GAAaD,EAAMN,WAAY,OAAOM,EAC1C,GAAW,GAAPC,GAAoC,mBAAfD,EAAMjC,KAAqB,OAAOiC,CAC5D,CACA,IAAIG,EAAKP,OAAOQ,OAAO,MACvBvC,EAAoBwC,EAAEF,GACtB,IAAIG,EAAM,CAAC,EACXjE,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIiE,EAAiB,EAAPN,GAAYD,EAAyB,iBAAXO,KAAyBlE,EAAemE,QAAQD,GAAUA,EAAUjE,EAASiE,GACxHX,OAAOa,oBAAoBF,GAASG,SAASC,GAASL,EAAIK,GAAO,IAAOX,EAAMW,KAI/E,OAFAL,EAAa,QAAI,IAAM,EACvBzC,EAAoBiB,EAAEqB,EAAIG,GACnBH,CACR,EMxBAtC,EAAoBiB,EAAI,CAACC,EAAS6B,KACjC,IAAI,IAAID,KAAOC,EACX/C,EAAoBM,EAAEyC,EAAYD,KAAS9C,EAAoBM,EAAEY,EAAS4B,IAC5Ef,OAAOiB,eAAe9B,EAAS4B,EAAK,CAAEG,YAAY,EAAMhE,IAAK8D,EAAWD,MCJ3E9C,EAAoBkD,EAAI,CAAC,EAGzBlD,EAAoBC,EAAKkD,GACjBrD,QAAQC,IAAIgC,OAAOqB,KAAKpD,EAAoBkD,GAAGG,QAAO,CAACC,EAAUR,KACvE9C,EAAoBkD,EAAEJ,GAAKK,EAASG,GAC7BA,IACL,KCNJtD,EAAoBuD,EAAKJ,GAEZA,EAAU,MCHvBnD,EAAoBwD,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOpB,MAAQ,IAAIqB,SAAS,cAAb,EAChB,CAAE,MAAOzD,GACR,GAAsB,iBAAX0D,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB3D,EAAoBM,EAAI,CAAC2B,EAAK2B,IAAU7B,OAAO8B,UAAUC,eAAetC,KAAKS,EAAK2B,GTA9ElF,EAAa,CAAC,EACdC,EAAoB,kCAExBqB,EAAoB+D,EAAI,CAACC,EAAKC,EAAMnB,EAAKK,KACxC,GAAGzE,EAAWsF,GAAQtF,EAAWsF,GAAKE,KAAKD,OAA3C,CACA,IAAIE,EAAQC,EACZ,QAAW3D,IAARqC,EAEF,IADA,IAAIuB,EAAUC,SAASC,qBAAqB,UACpCC,EAAI,EAAGA,EAAIH,EAAQI,OAAQD,IAAK,CACvC,IAAIE,EAAIL,EAAQG,GAChB,GAAGE,EAAEC,aAAa,QAAUX,GAAOU,EAAEC,aAAa,iBAAmBhG,EAAoBmE,EAAK,CAAEqB,EAASO,EAAG,KAAO,CACpH,CAEGP,IACHC,GAAa,GACbD,EAASG,SAASM,cAAc,WAEzBC,QAAU,QACjBV,EAAOW,QAAU,IACb9E,EAAoB+E,IACvBZ,EAAOa,aAAa,QAAShF,EAAoB+E,IAElDZ,EAAOa,aAAa,eAAgBrG,EAAoBmE,GAExDqB,EAAOc,IAAMjB,GAEdtF,EAAWsF,GAAO,CAACC,GACnB,IAAIiB,EAAmB,CAACC,EAAMC,KAE7BjB,EAAOkB,QAAUlB,EAAOmB,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAU9G,EAAWsF,GAIzB,UAHOtF,EAAWsF,GAClBG,EAAOsB,YAActB,EAAOsB,WAAWC,YAAYvB,GACnDqB,GAAWA,EAAQ3C,SAAS8C,GAAQA,EAAGP,KACpCD,EAAM,OAAOA,EAAKC,IAElBN,EAAUc,WAAWV,EAAiBW,KAAK,UAAMpF,EAAW,CAAEqF,KAAM,UAAWC,OAAQ5B,IAAW,MACtGA,EAAOkB,QAAUH,EAAiBW,KAAK,KAAM1B,EAAOkB,SACpDlB,EAAOmB,OAASJ,EAAiBW,KAAK,KAAM1B,EAAOmB,QACnDlB,GAAcE,SAAS0B,KAAKC,YAAY9B,EApCkB,GUH3DnE,EAAoBwC,EAAKtB,IACH,oBAAXgF,QAA0BA,OAAOC,aAC1CpE,OAAOiB,eAAe9B,EAASgF,OAAOC,YAAa,CAAEhE,MAAO,WAE7DJ,OAAOiB,eAAe9B,EAAS,aAAc,CAAEiB,OAAO,K,MCLvDnC,EAAoBa,EAAI,CAAC,EACzB,IAAIuF,EAAe,CAAC,EAChBC,EAAa,CAAC,EAClBrG,EAAoBgB,EAAI,CAACF,EAAMF,KAC1BA,IAAWA,EAAY,IAE3B,IAAI0F,EAAYD,EAAWvF,GAE3B,GADIwF,IAAWA,EAAYD,EAAWvF,GAAQ,CAAC,KAC5CF,EAAU+B,QAAQ2D,IAAc,GAAnC,CAGA,GAFA1F,EAAUsD,KAAKoC,GAEZF,EAAatF,GAAO,OAAOsF,EAAatF,GAEvCd,EAAoBM,EAAEN,EAAoBa,EAAGC,KAAOd,EAAoBa,EAAEC,GAAQ,CAAC,GAEvF,IAAIyF,EAAQvG,EAAoBa,EAAEC,GAI9B0F,EAAa,iCACbC,EAAW,CAAC3F,EAAM4F,EAASC,EAASC,KACvC,IAAIC,EAAWN,EAAMzF,GAAQyF,EAAMzF,IAAS,CAAC,EACzCgG,EAAgBD,EAASH,KACzBI,IAAmBA,EAAcC,UAAYH,IAAUE,EAAcF,MAAQA,EAAQJ,EAAaM,EAAcE,SAAQH,EAASH,GAAW,CAAEzH,IAAK0H,EAASK,KAAMR,EAAYI,QAASA,KAaxLtD,EAAW,GAoBf,MAlBM,YADCxC,IAEL2F,EAAS,gBAAiB,UAAU,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WAC5QyG,EAAS,yBAA0B,kBAAkB,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,OAAOC,MAAK,IAAM,IAAQF,EAAoB,WAChZyG,EAAS,kCAAmC,mBAAmB,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WAC3ZyG,EAAS,QAAS,WAAW,IAAOzG,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACvGyG,EAAS,YAAa,WAAW,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WACvJyG,EAAS,gBAAiB,UAAU,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WAC1JyG,EAAS,mBAAoB,UAAU,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WAC7JyG,EAAS,QAAS,UAAU,IAAOzG,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACtGyG,EAAS,OAAQ,SAAS,IAAOzG,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACpGyG,EAAS,mBAAoB,SAAS,IAAOzG,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WAChHyG,EAAS,aAAc,SAAS,IAAOzG,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WAC1GyG,EAAS,gBAAiB,SAAS,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WACzJyG,EAAS,gBAAiB,SAAS,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WACtLyG,EAAS,eAAgB,SAAS,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,YAK9KoG,EAAatF,GADhBwC,EAASmB,OACe3E,QAAQC,IAAIuD,GAAUpD,MAAK,IAAOkG,EAAatF,GAAQ,IADlC,CAhDL,E,WCR7C,IAAImG,EACAjH,EAAoBwD,EAAE0D,gBAAeD,EAAYjH,EAAoBwD,EAAE2D,SAAW,IACtF,IAAI7C,EAAWtE,EAAoBwD,EAAEc,SACrC,IAAK2C,GAAa3C,IACbA,EAAS8C,eAAkE,WAAjD9C,EAAS8C,cAAcC,QAAQC,gBAC5DL,EAAY3C,EAAS8C,cAAcnC,MAC/BgC,GAAW,CACf,IAAI5C,EAAUC,EAASC,qBAAqB,UAC5C,GAAGF,EAAQI,OAEV,IADA,IAAID,EAAIH,EAAQI,OAAS,EAClBD,GAAK,KAAOyC,IAAc,aAAaM,KAAKN,KAAaA,EAAY5C,EAAQG,KAAKS,GAE3F,CAID,IAAKgC,EAAW,MAAM,IAAIzG,MAAM,yDAChCyG,EAAYA,EAAUO,QAAQ,SAAU,IAAIA,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KAC1GxH,EAAoByH,EAAIR,C,KXlBpBrI,EAAgB8I,IAEnB,IAAID,EAAEA,GAAWA,EAAEE,MAAM,KAAKC,KAAKH,IAAWA,GAAGA,GAAGA,EAAEA,IAAM9F,EAAE,sCAAsCkG,KAAKH,GAAKlF,EAAEb,EAAE,GAAG8F,EAAE9F,EAAE,IAAI,GAAG,OAAOA,EAAE,KAAKa,EAAEiC,SAASjC,EAAE0B,KAAK4D,MAAMtF,EAAEiF,EAAE9F,EAAE,MAAMA,EAAE,KAAKa,EAAE0B,KAAK,IAAI1B,EAAE0B,KAAK4D,MAAMtF,EAAEiF,EAAE9F,EAAE,MAAMa,GAE1N3D,EAAY,CAACiD,EAAGiG,KAEnBjG,EAAElD,EAAakD,GAAGiG,EAAEnJ,EAAamJ,GAAG,IAAI,IAAIvF,EAAE,IAAI,CAAC,GAAGA,GAAGV,EAAE2C,OAAO,OAAOjC,EAAEuF,EAAEtD,QAAQ,aAAasD,EAAEvF,IAAI,GAAG,IAAIvC,EAAE6B,EAAEU,GAAGb,UAAU1B,GAAG,GAAG,GAAGuC,GAAGuF,EAAEtD,OAAO,MAAM,KAAK9C,EAAE,IAAIO,EAAE6F,EAAEvF,GAAGU,UAAUhB,GAAG,GAAG,GAAGP,GAAGuB,EAAE,MAAM,KAAKvB,GAAG,KAAKuB,GAAI,KAAKA,GAAG,KAAKvB,EAAG,GAAG,KAAKA,GAAG,KAAKA,GAAG1B,GAAGiC,EAAE,OAAOjC,EAAEiC,EAAEM,GAAG,GAE/Q1D,EAAiBkJ,IAEpB,IAAIxF,EAAEwF,EAAM,GAAGrG,EAAE,GAAG,GAAG,IAAIqG,EAAMvD,OAAO,MAAM,IAAI,GAAGjC,EAAE,GAAG,CAACb,GAAG,GAAGa,EAAE,MAAM,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAIA,EAAE,EAAE,IAAI,KAAK,IAAI,IAAIvC,EAAE,EAAE6B,EAAE,EAAEA,EAAEkG,EAAMvD,OAAO3C,IAAK7B,IAAI0B,GAAG,aAAaO,EAAE8F,EAAMlG,KAAK,GAAG,KAAK7B,EAAE,EAAE,IAAI,KAAKA,EAAE,EAAEiC,GAAG,OAAOP,CAAC,CAAC,IAAI6B,EAAE,GAAG,IAAI1B,EAAE,EAAEA,EAAEkG,EAAMvD,OAAO3C,IAAI,CAAC,IAAII,EAAE8F,EAAMlG,GAAG0B,EAAEU,KAAK,IAAIhC,EAAE,OAAO5B,IAAI,IAAI,IAAI4B,EAAE,IAAI5B,IAAI,OAAOA,IAAI,IAAI,IAAI4B,EAAEsB,EAAEyE,MAAM,IAAIzE,EAAEyE,MAAMnJ,EAAcoD,GAAG,CAAC,OAAO5B,IAAI,SAASA,IAAI,OAAOkD,EAAEyE,MAAMT,QAAQ,aAAa,KAAK,GAElbzI,EAAU,CAACiJ,EAAOtB,KAErB,GAAG,KAAKsB,EAAM,CAACtB,EAAQ9H,EAAa8H,GAAS,IAAIzG,EAAE+H,EAAM,GAAGxF,EAAEvC,EAAE,EAAEuC,IAAIvC,GAAGA,EAAE,GAAG,IAAI,IAAI0B,EAAE,EAAE6C,EAAE,EAAE1C,GAAE,GAAI0C,IAAI7C,IAAI,CAAC,IAAIuB,EAAEwB,EAAElB,EAAEgB,EAAEwD,EAAMvD,eAAeuD,EAAMxD,IAAI,GAAG,GAAG,GAAG7C,GAAG+E,EAAQjC,QAAQ,MAAMC,UAAUxB,EAAEwD,EAAQ/E,KAAK,IAAI,OAAOG,IAAI,KAAK0B,EAAEgB,EAAEvE,IAAIuC,EAAE,IAAIgB,GAAGhB,GAAG,GAAG,KAAKkC,GAAG,IAAI5C,GAAG,KAAK0B,EAAE,OAAM,OAAQ,GAAG1B,EAAE,GAAG0B,GAAGkB,EAAE,GAAGF,GAAGvE,GAAG,GAAGiD,GAAG8E,EAAMxD,GAAG,OAAM,MAAO,CAAC,GAAGhC,EAAEU,EAAE8E,EAAMxD,GAAGtB,EAAE8E,EAAMxD,GAAG,OAAM,EAAGtB,GAAG8E,EAAMxD,KAAK1C,GAAE,EAAG,MAAM,GAAG,KAAK0B,GAAG,KAAKA,EAAE,CAAC,GAAGhB,GAAGgC,GAAGvE,EAAE,OAAM,EAAG6B,GAAE,EAAG0C,GAAG,KAAK,CAAC,GAAGA,GAAGvE,GAAGyE,EAAElB,GAAGhB,EAAE,OAAM,EAAGV,GAAE,CAAE,KAAK,KAAK0B,GAAG,KAAKA,IAAI1B,GAAE,EAAG0C,IAAI,CAAC,CAAC,IAAItC,EAAE,GAAG5B,EAAE4B,EAAE+F,IAAIpC,KAAK3D,GAAG,IAAIP,EAAE,EAAEA,EAAEqG,EAAMvD,OAAO9C,IAAI,CAAC,IAAI4B,EAAEyE,EAAMrG,GAAGO,EAAEgC,KAAK,GAAGX,EAAEjD,IAAIA,IAAI,GAAGiD,EAAEjD,IAAIA,IAAIiD,EAAExE,EAAQwE,EAAEmD,IAAUpG,IAAI,CAAC,QAAQA,KAE1oBtB,EAAS,CAACuH,EAAOzD,IACbyD,GAASvG,EAAoBM,EAAEiG,EAAOzD,GAE1C7D,EAAOiJ,IACVA,EAAMnB,OAAS,EACRmB,EAAMjJ,OAEVC,EAAa2H,GACT9E,OAAOqB,KAAKyD,GAAUxD,QAAO,CAAC8E,EAAUzB,KACzCG,EAASH,GAASE,QACrBuB,EAASzB,GAAWG,EAASH,IAEvByB,IACN,CAAC,GAiBDhJ,EAA0B,CAACoH,EAAOzD,EAAK8D,KAC1C,IAAIC,EAAWD,EAAQ1H,EAAUqH,EAAMzD,IAAQyD,EAAMzD,GACrD,OAAOf,OAAOqB,KAAKyD,GAAUxD,QAAO,CAACvB,EAAGiG,KAC/BjG,IAAO+E,EAAS/E,GAAGiF,QAAUlI,EAAUiD,EAAGiG,GAAMA,EAAIjG,GAC1D,IAEA1C,EAAoC,CAACmH,EAAOzD,EAAK4D,EAAS0B,IACtD,uBAAyB1B,EAAU,UAAYA,GAAWH,EAAMzD,GAAK4D,GAASM,MAAQ,+BAAiClE,EAAM,cAAgBhE,EAAcsJ,GAAmB,IASlL/I,EAAQgJ,IACX,MAAM,IAAI7H,MAAM6H,IAKb/I,EAAsB+I,IACF,oBAAZC,SAA2BA,QAAQhJ,MAAMgJ,QAAQhJ,KAAK+I,IAU9D9I,EAAc,CAACgJ,EAAWzF,EAAK0F,IAC3BA,EAAWA,IAfE,EAACD,EAAWzF,IACzBzD,EAAK,iBAAmByD,EAAM,kCAAoCyF,GAc1CE,CAAeF,EAAWzF,GAyBtDtD,EAlCO,CAACmG,GAAO,SAAU4C,EAAWzF,EAAK8D,EAAOlF,EAAGT,GACtD,IAAIyH,EAAU1I,EAAoBgB,EAAEuH,GACpC,OAAIG,GAAWA,EAAQxI,OAAS0G,EACxB8B,EAAQxI,KAAKyF,EAAGE,KAAKF,EAAI4C,EAAWvI,EAAoBa,EAAE0H,GAAYzF,GAAK,EAAOpB,EAAGT,IAEtF0E,EAAG4C,EAAWvI,EAAoBa,EAAE0H,GAAYzF,EAAK8D,EAAOlF,EAAGT,EACtE,EA4BwCP,EAAK,CAAC6H,EAAWhC,EAAOzD,EAAK8D,EAAOwB,EAAiBI,KAC7F,IAAKxJ,EAAOuH,EAAOzD,GAAM,OAAOvD,EAAYgJ,EAAWzF,EAAK0F,GAC5D,IAAI9B,EAAUvH,EAAwBoH,EAAOzD,EAAK8D,GAIlD,OAHK7H,EAAQqJ,EAAiB1B,IAC7BpH,EAAKF,EAAkCmH,EAAOzD,EAAK4D,EAAS0B,IAEtDnJ,EAAIsH,EAAMzD,GAAK4D,OAUnBjH,EAAmB,CAAC,EACpBC,EAAyB,CAC5B,KAAM,IAAOF,EAAqB,UAAW,SAAS,EAAO,CAAC,EAAE,KAAK,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WAC/I,MAAO,IAAOR,EAAqB,UAAW,iBAAiB,EAAO,CAAC,EAAE,IAAI,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACvJ,MAAO,IAAOR,EAAqB,UAAW,iBAAiB,EAAO,CAAC,EAAE,IAAI,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACvJ,KAAM,IAAOR,EAAqB,UAAW,oBAAoB,EAAO,CAAC,EAAE,IAAI,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACzJ,MAAO,IAAOR,EAAqB,UAAW,QAAQ,EAAO,CAAC,EAAE,IAAI,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WAC9I,MAAO,IAAOR,EAAqB,UAAW,cAAc,EAAO,CAAC,EAAE,IAAI,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACpJ,MAAO,IAAOR,EAAqB,UAAW,gBAAgB,EAAO,CAAC,EAAE,IAAI,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACtJ,KAAM,IAAOR,EAAqB,UAAW,oBAAoB,EAAO,CAAC,EAAE,IAAI,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACzJ,MAAO,IAAOR,EAAqB,UAAW,aAAa,EAAO,CAAC,EAAE,IAAI,IAAOM,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WAC/L,MAAO,IAAOR,EAAqB,UAAW,SAAS,EAAO,CAAC,EAAE,IAAI,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WAC/I,MAAO,IAAOR,EAAqB,UAAW,iBAAiB,EAAO,CAAC,EAAE,KAAK,IAAOQ,EAAoBC,EAAE,MAAMC,MAAK,IAAM,IAAQF,EAAoB,WACxJ,MAAO,IAAOR,EAAqB,UAAW,iBAAiB,EAAO,CAAC,EAAE,IAAI,IAAOM,QAAQC,IAAI,CAACC,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WAC3P,MAAO,IAAOR,EAAqB,UAAW,0BAA0B,EAAO,CAAC,EAAE,IAAI,IAAOM,QAAQC,IAAI,CAACC,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,WAC9T,MAAO,IAAOR,EAAqB,UAAW,mCAAmC,EAAO,CAAC,IAAI,IAAOM,QAAQC,IAAI,CAACC,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,MAAK,IAAM,IAAQF,EAAoB,YAGlUL,EAAe,CAClB,IAAO,CACN,OAED,KAAQ,CACP,MAED,KAAQ,CACP,KACA,MACA,MACA,OAED,KAAQ,CACP,OAED,KAAQ,CACP,OAED,KAAQ,CACP,OAED,KAAQ,CACP,MACA,OAED,KAAQ,CACP,KACA,MACA,MACA,MACA,QAGEC,EAAwB,CAAC,EAC7BI,EAAoBkD,EAAEyF,SAAW,CAACxF,EAASG,KACvCtD,EAAoBM,EAAEX,EAAcwD,IACtCxD,EAAawD,GAASN,SAASvB,IAC9B,GAAGtB,EAAoBM,EAAEb,EAAkB6B,GAAK,OAAOgC,EAASY,KAAKzE,EAAiB6B,IACtF,IAAI1B,EAAsB0B,GAAK,CAC/B,IAAIsH,EAAajC,IAChBlH,EAAiB6B,GAAM,EACvBtB,EAAoByB,EAAEH,GAAOnB,WACrBH,EAAoB0B,EAAEJ,GAC7BnB,EAAOe,QAAUyF,MAGnB/G,EAAsB0B,IAAM,EAC5B,IAAIuH,EAAWC,WACPrJ,EAAiB6B,GACxBtB,EAAoByB,EAAEH,GAAOnB,IAE5B,aADOH,EAAoB0B,EAAEJ,GACvBwH,IAGR,IACC,IAAIJ,EAAUhJ,EAAuB4B,KAClCoH,EAAQxI,KACVoD,EAASY,KAAKzE,EAAiB6B,GAAMoH,EAAQxI,KAAK0I,GAAkB,MAAEC,IAChED,EAAUF,EAClB,CAAE,MAAMzI,GAAK4I,EAAQ5I,EAAI,CACzB,M,MYnMH,IAAI8I,EAAkB,CACrB,KAAM,GAGP/I,EAAoBkD,EAAE8F,EAAI,CAAC7F,EAASG,KAElC,IAAI2F,EAAqBjJ,EAAoBM,EAAEyI,EAAiB5F,GAAW4F,EAAgB5F,QAAW1C,EACtG,GAA0B,IAAvBwI,EAGF,GAAGA,EACF3F,EAASY,KAAK+E,EAAmB,SAEjC,GAAI,+BAA+B1B,KAAKpE,GAyBjC4F,EAAgB5F,GAAW,MAzBgB,CAEjD,IAAIuF,EAAU,IAAI5I,SAAQ,CAACS,EAAS2I,IAAYD,EAAqBF,EAAgB5F,GAAW,CAAC5C,EAAS2I,KAC1G5F,EAASY,KAAK+E,EAAmB,GAAKP,GAGtC,IAAI1E,EAAMhE,EAAoByH,EAAIzH,EAAoBuD,EAAEJ,GAEpD2F,EAAQ,IAAItI,MAgBhBR,EAAoB+D,EAAEC,GAfFoB,IACnB,GAAGpF,EAAoBM,EAAEyI,EAAiB5F,KAEf,KAD1B8F,EAAqBF,EAAgB5F,MACR4F,EAAgB5F,QAAW1C,GACrDwI,GAAoB,CACtB,IAAIE,EAAY/D,IAAyB,SAAfA,EAAMU,KAAkB,UAAYV,EAAMU,MAChEsD,EAAUhE,GAASA,EAAMW,QAAUX,EAAMW,OAAOd,IACpD6D,EAAMO,QAAU,iBAAmBlG,EAAU,cAAgBgG,EAAY,KAAOC,EAAU,IAC1FN,EAAMhI,KAAO,iBACbgI,EAAMhD,KAAOqD,EACbL,EAAMQ,QAAUF,EAChBH,EAAmB,GAAGH,EACvB,IAGuC,SAAW3F,EAASA,EAC9D,GAgBJ,IAAIoG,EAAuB,CAACC,EAA4BC,KACvD,IAGIrI,EAAU+B,GAHTuG,EAAUC,EAAaC,GAAWH,EAGhBjF,EAAI,EAC3B,GAAGkF,EAASG,MAAMvI,GAAgC,IAAxByH,EAAgBzH,KAAa,CACtD,IAAIF,KAAYuI,EACZ3J,EAAoBM,EAAEqJ,EAAavI,KACrCpB,EAAoByB,EAAEL,GAAYuI,EAAYvI,IAG7CwI,GAAsBA,EAAQ5J,EAClC,CAEA,IADGwJ,GAA4BA,EAA2BC,GACrDjF,EAAIkF,EAASjF,OAAQD,IACzBrB,EAAUuG,EAASlF,GAChBxE,EAAoBM,EAAEyI,EAAiB5F,IAAY4F,EAAgB5F,IACrE4F,EAAgB5F,GAAS,KAE1B4F,EAAgB5F,GAAW,GAKzB2G,EAAqBrG,WAAuD,2CAAIA,WAAuD,4CAAK,GAChJqG,EAAmBjH,QAAQ0G,EAAqB1D,KAAK,KAAM,IAC3DiE,EAAmB5F,KAAOqF,EAAqB1D,KAAK,KAAMiE,EAAmB5F,KAAK2B,KAAKiE,G,KCrFvF9J,EAAoB+E,QAAKtE,ECGzB,IAAIsJ,EAAsB/J,EAAoB,O","sources":["webpack://@openmrs/esm-patient-chart-app/webpack/runtime/create fake namespace object","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/load script","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/consumes","webpack://@openmrs/esm-patient-chart-app/webpack/container-entry","webpack://@openmrs/esm-patient-chart-app/webpack/bootstrap","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/define property getters","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/global","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/sharing","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/publicPath","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-patient-chart-app/webpack/runtime/nonce","webpack://@openmrs/esm-patient-chart-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","loaded","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","optionalBackendDependencies":{"emrapi":{"version":"^2.0.0","feature":{"flagName":"emrapi-module","label":"EMR API Module","description":"This module, if installed, provides core EMR business logic."}}},"extensions":[{"name":"charts-summary-dashboard","component":"patientSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":0,"meta":{"slot":"patient-chart-summary-dashboard-slot","path":"Patient Summary"},"online":true,"offline":true},{"name":"encounter-list","component":"encounterListTableTabs","online":true,"offline":true},{"name":"start-visit-button","component":"startVisitActionButton","slot":"patient-actions-slot","online":true,"offline":true},{"name":"clinical-views-summary","component":"clinicalViewsSummary","online":true,"offline":true},{"name":"stop-visit-button","component":"stopVisitActionButton","slot":"patient-actions-slot","online":true,"offline":true},{"name":"mark-alive-button","slot":"patient-actions-slot","component":"markPatientAliveActionButton","online":true,"offline":true},{"name":"stop-visit-button-patient-search","slot":"patient-search-actions-slot","component":"stopVisitPatientSearchActionButton","online":true,"offline":true},{"name":"delete-visit-button","slot":"patient-actions-slot","component":"deleteVisitActionMenuButton","online":true,"offline":true},{"name":"delete-visit-button","slot":"patient-search-actions-slot","component":"deleteVisitActionMenuButton","online":true,"offline":true},{"name":"mark-patient-deceased-button","slot":"patient-actions-slot","component":"markPatientDeceasedActionButton","online":true,"offline":true},{"name":"encounters-summary-dashboard","slot":"patient-chart-dashboard-slot","component":"encountersSummaryDashboardLink","meta":{"slot":"patient-chart-encounters-dashboard-slot","path":"Visits","layoutMode":"anchored"},"order":5,"online":true,"offline":true},{"name":"past-visits-detail-overview","slot":"patient-chart-encounters-dashboard-slot","component":"pastVisitsDetailOverview","order":1,"meta":{"title":"Visits","view":"visits"},"online":true,"offline":true},{"name":"patient-details-tile","slot":"visit-form-header-slot","component":"patientDetailsTile","order":1,"online":true,"offline":true},{"name":"start-visit-button-patient-search","slot":"start-visit-button-slot","component":"startVisitPatientSearchActionButton","online":true,"offline":true},{"name":"visit-attribute-tags","slot":"patient-banner-tags-slot","component":"visitAttributeTags","online":true,"offline":true},{"name":"current-visit-summary","component":"currentVisitSummary","online":true,"offline":true,"meta":{"fullWidth":true}},{"name":"edit-visit-action-button","slot":"visit-detail-overview-actions","component":"editVisitDetailsActionButton","online":true,"offline":true,"order":0},{"name":"delete-visit-action-button","slot":"visit-detail-overview-actions","component":"deleteVisitActionButton","online":true,"offline":true,"order":1},{"name":"active-visit-action-button","slot":"active-visit-actions","component":"activeVisitActionsComponent","online":true,"offline":true,"order":1},{"name":"visit-context-header","slot":"visit-context-header-slot","component":"visitContextHeader"},{"name":"retrospective-date-time-picker","slot":"restrospective-date-time-picker-slot","component":"retrospectiveDateTimePicker"}],"featureFlags":[{"description":"Features to enter data for past visits. Includes the 'Edit Past Visit' button in the start visit dialog, and the 'Add Past Visit' button in the patient header","flagName":"rde","label":"Retrospective Data Entry"},{"description":"When enabled, encounter summaries will display the full form layout instead of a simple observation list.","flagName":"enable-embedded-form-view","label":"Enable Embedded Form View"}],"modals":[{"name":"delete-encounter-modal","component":"deleteEncounterModal"},{"name":"delete-visit-dialog","component":"deleteVisitModal"},{"name":"end-visit-dialog","component":"endVisitModal"},{"name":"mark-patient-alive-modal","component":"markPatientAliveModal"},{"name":"modify-visit-date-dialog","component":"modifyVisitDateModal"},{"name":"start-visit-dialog","component":"startVisitModal"},{"name":"visit-context-switcher","component":"visitContextSwitcherModal"}],"pages":[{"component":"root","routeRegex":"^patient/.+/chart","online":true,"offline":true}],"workspaces":[{"name":"mark-patient-deceased-workspace-form","component":"markPatientDeceasedForm","title":"Mark patient deceased","type":"form"},{"name":"start-visit-workspace-form","component":"startVisitWorkspace","title":"startVisitWorkspaceTitle","type":"start-visit"}],"version":"11.3.1-pre.9294"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","optionalBackendDependencies":{"emrapi":{"version":"^2.0.0","feature":{"flagName":"emrapi-module","label":"EMR API Module","description":"This module, if installed, provides core EMR business logic."}}},"extensions":[{"name":"charts-summary-dashboard","component":"patientSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":0,"meta":{"slot":"patient-chart-summary-dashboard-slot","path":"Patient Summary"},"online":true,"offline":true},{"name":"encounter-list","component":"encounterListTableTabs","online":true,"offline":true},{"name":"start-visit-button","component":"startVisitActionButton","slot":"patient-actions-slot","online":true,"offline":true},{"name":"clinical-views-summary","component":"clinicalViewsSummary","online":true,"offline":true},{"name":"stop-visit-button","component":"stopVisitActionButton","slot":"patient-actions-slot","online":true,"offline":true},{"name":"mark-alive-button","slot":"patient-actions-slot","component":"markPatientAliveActionButton","online":true,"offline":true},{"name":"stop-visit-button-patient-search","slot":"patient-search-actions-slot","component":"stopVisitPatientSearchActionButton","online":true,"offline":true},{"name":"delete-visit-button","slot":"patient-actions-slot","component":"deleteVisitActionMenuButton","online":true,"offline":true},{"name":"delete-visit-button","slot":"patient-search-actions-slot","component":"deleteVisitActionMenuButton","online":true,"offline":true},{"name":"mark-patient-deceased-button","slot":"patient-actions-slot","component":"markPatientDeceasedActionButton","online":true,"offline":true},{"name":"encounters-summary-dashboard","slot":"patient-chart-dashboard-slot","component":"encountersSummaryDashboardLink","meta":{"slot":"patient-chart-encounters-dashboard-slot","path":"Visits","layoutMode":"anchored"},"order":5,"online":true,"offline":true},{"name":"past-visits-detail-overview","slot":"patient-chart-encounters-dashboard-slot","component":"pastVisitsDetailOverview","order":1,"meta":{"title":"Visits","view":"visits"},"online":true,"offline":true},{"name":"patient-details-tile","slot":"visit-form-header-slot","component":"patientDetailsTile","order":1,"online":true,"offline":true},{"name":"start-visit-button-patient-search","slot":"start-visit-button-slot","component":"startVisitPatientSearchActionButton","online":true,"offline":true},{"name":"visit-attribute-tags","slot":"patient-banner-tags-slot","component":"visitAttributeTags","online":true,"offline":true},{"name":"current-visit-summary","component":"currentVisitSummary","online":true,"offline":true,"meta":{"fullWidth":true}},{"name":"edit-visit-action-button","slot":"visit-detail-overview-actions","component":"editVisitDetailsActionButton","online":true,"offline":true,"order":0},{"name":"delete-visit-action-button","slot":"visit-detail-overview-actions","component":"deleteVisitActionButton","online":true,"offline":true,"order":1},{"name":"active-visit-action-button","slot":"active-visit-actions","component":"activeVisitActionsComponent","online":true,"offline":true,"order":1},{"name":"visit-context-header","slot":"visit-context-header-slot","component":"visitContextHeader"},{"name":"retrospective-date-time-picker","slot":"restrospective-date-time-picker-slot","component":"retrospectiveDateTimePicker"}],"featureFlags":[{"description":"Features to enter data for past visits. Includes the 'Edit Past Visit' button in the start visit dialog, and the 'Add Past Visit' button in the patient header","flagName":"rde","label":"Retrospective Data Entry"},{"description":"When enabled, encounter summaries will display the full form layout instead of a simple observation list.","flagName":"enable-embedded-form-view","label":"Enable Embedded Form View"}],"modals":[{"name":"delete-encounter-modal","component":"deleteEncounterModal"},{"name":"delete-visit-dialog","component":"deleteVisitModal"},{"name":"end-visit-dialog","component":"endVisitModal"},{"name":"mark-patient-alive-modal","component":"markPatientAliveModal"},{"name":"modify-visit-date-dialog","component":"modifyVisitDateModal"},{"name":"start-visit-dialog","component":"startVisitModal"},{"name":"visit-context-switcher","component":"visitContextSwitcherModal"}],"pages":[{"component":"root","routeRegex":"^patient/.+/chart","online":true,"offline":true}],"workspaces":[{"name":"mark-patient-deceased-workspace-form","component":"markPatientDeceasedForm","title":"Mark patient deceased","type":"form"},{"name":"start-visit-workspace-form","component":"startVisitWorkspace","title":"startVisitWorkspaceTitle","type":"start-visit"}],"version":"11.3.1-pre.9304"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-patient-chart-app",
3
- "version": "11.3.1-pre.9294",
3
+ "version": "11.3.1-pre.9304",
4
4
  "license": "MPL-2.0",
5
5
  "description": "Patient dashboard microfrontend for the OpenMRS SPA",
6
6
  "browser": "dist/openmrs-esm-patient-chart-app.js",
@@ -55,7 +55,7 @@
55
55
  "swr": "2.x"
56
56
  },
57
57
  "devDependencies": {
58
- "@openmrs/esm-patient-common-lib": "11.3.1-pre.9294",
58
+ "@openmrs/esm-patient-common-lib": "11.3.1-pre.9304",
59
59
  "@types/uuid": "^9.0.4",
60
60
  "webpack": "^5.99.9"
61
61
  },
@@ -8,17 +8,22 @@ interface DeleteVisitOverflowMenuItemProps {
8
8
  patientUuid: string;
9
9
  }
10
10
 
11
+ /**
12
+ * This button shows up in the patient banner action menu, but only when the patient has an active visit.
13
+ * On click, it opens the modal in delete-visit-dialog.component.tsx to DELETE the visit
14
+ */
11
15
  const DeleteVisitOverflowMenuItem: React.FC<DeleteVisitOverflowMenuItemProps> = ({ patientUuid }) => {
12
16
  const { t } = useTranslation();
13
- const { activeVisit } = useVisit(patientUuid);
17
+ const { activeVisit, mutate: mutateActiveVisit } = useVisit(patientUuid);
14
18
 
15
19
  const handleLaunchModal = useCallback(() => {
16
20
  const dispose = showModal('delete-visit-dialog', {
17
21
  closeModal: () => dispose(),
18
22
  patientUuid,
19
- visit: activeVisit,
23
+ activeVisit,
24
+ mutateActiveVisit,
20
25
  });
21
- }, [patientUuid, activeVisit]);
26
+ }, [patientUuid, activeVisit, mutateActiveVisit]);
22
27
 
23
28
  return (
24
29
  activeVisit && (
@@ -10,7 +10,7 @@ interface StopVisitOverflowMenuItemProps {
10
10
 
11
11
  /**
12
12
  * This button shows up in the patient banner action menu, but only when the patient has an active visit.
13
- * On click, it opens the modal in end-visit-dialog.component.tsx
13
+ * On click, it opens the modal in end-visit-dialog.component.tsx to END the visit
14
14
  */
15
15
  const StopVisitOverflowMenuItem: React.FC<StopVisitOverflowMenuItemProps> = ({ patientUuid }) => {
16
16
  const { t } = useTranslation();
@@ -1,7 +1,8 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import { Tabs, Tab, TabList, TabPanels, TabPanel } from '@carbon/react';
4
- import { useConfig, useVisit } from '@openmrs/esm-framework';
4
+ import { useConfig } from '@openmrs/esm-framework';
5
+ import { usePatientChartStore } from '@openmrs/esm-patient-common-lib';
5
6
  import { EncounterList } from './encounter-list.component';
6
7
  import { getMenuItemTabsConfiguration } from '../utils/encounter-list-config-builder';
7
8
  import styles from './encounter-list-tabs.scss';
@@ -13,10 +14,13 @@ interface EncounterListTabsComponentProps {
13
14
  patient: fhir.Patient;
14
15
  }
15
16
 
16
- const EncounterListTabsComponent: React.FC<EncounterListTabsComponentProps> = ({ patientUuid, patient }) => {
17
+ /**
18
+ * This extension is not used in the refapp.
19
+ * This extension uses the patient chart store and SHOULD only be mounted within the patient chart
20
+ */
21
+ const EncounterListTabsExtension: React.FC<EncounterListTabsComponentProps> = ({ patientUuid, patient }) => {
17
22
  const { t } = useTranslation();
18
- const { activeVisit, currentVisit } = useVisit(patientUuid);
19
- const visit = currentVisit ?? activeVisit;
23
+ const { visitContext } = usePatientChartStore(patientUuid);
20
24
 
21
25
  const config = useConfig();
22
26
  const { tabDefinitions = [] } = config;
@@ -60,7 +64,7 @@ const EncounterListTabsComponent: React.FC<EncounterListTabsComponentProps> = ({
60
64
  launchOptions={tab.launchOptions}
61
65
  headerTitle={tab.headerTitle}
62
66
  description={tab.description}
63
- visit={visit}
67
+ visit={visitContext}
64
68
  deathStatus={isDead}
65
69
  />
66
70
  </TabPanel>
@@ -71,4 +75,4 @@ const EncounterListTabsComponent: React.FC<EncounterListTabsComponentProps> = ({
71
75
  );
72
76
  };
73
77
 
74
- export default EncounterListTabsComponent;
78
+ export default EncounterListTabsExtension;
package/src/index.ts CHANGED
@@ -11,7 +11,7 @@ import { moduleName } from './constants';
11
11
  import { setupCacheableRoutes, setupOfflineVisitsSync } from './offline';
12
12
  import { summaryDashboardMeta, encountersDashboardMeta } from './dashboard.meta';
13
13
  import deleteVisitActionButtonComponent from './actions-buttons/delete-visit.component';
14
- import currentVisitSummaryComponent from './visit/visits-widget/current-visit-summary.component';
14
+ import currentVisitSummaryComponent from './visit/visits-widget/current-visit-summary.extension';
15
15
  import markPatientAliveActionButtonComponent from './actions-buttons/mark-patient-alive.component';
16
16
  import markPatientDeceasedActionButtonComponent from './actions-buttons/mark-patient-deceased.component';
17
17
  import pastVisitsOverviewComponent from './visit/visits-widget/visit-detail-overview.component';
@@ -20,7 +20,7 @@ import patientDetailsTileComponent from './patient-details-tile/patient-details-
20
20
  import startVisitActionButtonComponent from './actions-buttons/start-visit.component';
21
21
  import startVisitActionButtonOnPatientSearch from './visit/start-visit-button.component';
22
22
  import stopVisitActionButtonComponent from './actions-buttons/stop-visit.component';
23
- import visitAttributeTagsComponent from './patient-banner-tags/visit-attribute-tags.component';
23
+ import visitAttributeTagsComponent from './patient-banner-tags/visit-attribute-tags.extension';
24
24
 
25
25
  // This allows @openmrs/esm-framework to be accessed by modules that are not
26
26
  // using webpack. This is used for ngx-formentry.
@@ -182,7 +182,7 @@ export const activeVisitActionsComponent = getAsyncLifecycle(
182
182
  );
183
183
 
184
184
  export const encounterListTableTabs = getAsyncLifecycle(
185
- () => import('./clinical-views/encounter-list/encounter-list-tabs.component'),
185
+ () => import('./clinical-views/encounter-list/encounter-list-tabs.extension'),
186
186
  { featureName: 'encounter-list-table-tabs', moduleName },
187
187
  );
188
188
 
@@ -192,7 +192,7 @@ export const visitContextSwitcherModal = getAsyncLifecycle(
192
192
  );
193
193
 
194
194
  export const visitContextHeader = getAsyncLifecycle(
195
- () => import('./visit/visits-widget/visit-context/visit-context-header.component'),
195
+ () => import('./visit/visits-widget/visit-context/visit-context-header.extension'),
196
196
  { featureName: 'visit-context-header', moduleName },
197
197
  );
198
198
 
@@ -35,6 +35,8 @@ describe('MarkPatientDeceasedForm', () => {
35
35
  closeWorkspaceWithSavedChanges: jest.fn(),
36
36
  promptBeforeClosing: jest.fn(),
37
37
  setTitle: jest.fn(),
38
+ visitContext: null,
39
+ mutateVisitContext: null,
38
40
  };
39
41
 
40
42
  const codedCausesOfDeath = [
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Tag } from '@carbon/react';
3
- import { formatDate, useConfig } from '@openmrs/esm-framework';
4
- import { useVisitOrOfflineVisit } from '@openmrs/esm-patient-common-lib';
3
+ import { formatDate, useConfig, useVisit } from '@openmrs/esm-framework';
5
4
  import { type ChartConfig } from '../config-schema';
6
5
 
7
6
  interface VisitAttributeTagsProps {
@@ -26,13 +25,16 @@ const getAttributeValue = (attributeType, value) => {
26
25
  }
27
26
  };
28
27
 
28
+ /**
29
+ * This extension slots to the patient-banner-tags-slot by default.
30
+ */
29
31
  const VisitAttributeTags: React.FC<VisitAttributeTagsProps> = ({ patientUuid }) => {
30
- const { currentVisit } = useVisitOrOfflineVisit(patientUuid);
32
+ const { activeVisit } = useVisit(patientUuid);
31
33
  const { visitAttributeTypes } = useConfig<ChartConfig>();
32
34
 
33
35
  return (
34
36
  <>
35
- {currentVisit?.attributes
37
+ {activeVisit?.attributes
36
38
  ?.filter(
37
39
  (attribute) =>
38
40
  visitAttributeTypes.find(({ uuid }) => attribute?.attributeType?.uuid === uuid)?.displayInThePatientBanner,
@@ -1,46 +1,21 @@
1
- import {
2
- ExtensionSlot,
3
- WorkspaceContainer,
4
- setCurrentVisit,
5
- usePatient,
6
- useWorkspaces,
7
- useLeftNav,
8
- } from '@openmrs/esm-framework';
9
- import { getPatientChartStore } from '@openmrs/esm-patient-common-lib';
1
+ import React, { useMemo, useState } from 'react';
10
2
  import classNames from 'classnames';
11
- import React, { useEffect, useMemo, useState } from 'react';
12
3
  import { useParams } from 'react-router-dom';
4
+ import { ExtensionSlot, WorkspaceContainer, useWorkspaces, useLeftNav } from '@openmrs/esm-framework';
13
5
  import { spaBasePath } from '../constants';
14
- import Loader from '../loader/loader.component';
6
+ import { usePatientChartPatientAndVisit } from './patient-chart.resources';
7
+ import { type LayoutMode } from './chart-review/dashboard-view.component';
15
8
  import ChartReview from '../patient-chart/chart-review/chart-review.component';
9
+ import Loader from '../loader/loader.component';
16
10
  import SideMenuPanel from '../side-nav/side-menu.component';
17
- import { type LayoutMode } from './chart-review/dashboard-view.component';
18
11
  import styles from './patient-chart.scss';
19
12
 
20
13
  const PatientChart: React.FC = () => {
21
14
  const { patientUuid, view: encodedView } = useParams();
22
- const view = decodeURIComponent(encodedView);
23
- const { isLoading: isLoadingPatient, patient } = usePatient(patientUuid);
24
- const state = useMemo(() => ({ patient, patientUuid }), [patient, patientUuid]);
25
15
  const { workspaceWindowState, active } = useWorkspaces();
26
16
  const [layoutMode, setLayoutMode] = useState<LayoutMode>();
27
- // Keep state updated with the current patient. Anything used outside the patient
28
- // chart (e.g., the current visit is used by the Active Visit Tag used in the
29
- // patient search) must be updated in the callback, which is called when the patient
30
- // chart unmounts.
31
- useEffect(() => {
32
- setCurrentVisit(patientUuid, null);
33
- return () => {
34
- setCurrentVisit(null, null);
35
- };
36
- }, [patientUuid]);
37
-
38
- useEffect(() => {
39
- getPatientChartStore().setState({ ...state });
40
- return () => {
41
- getPatientChartStore().setState({});
42
- };
43
- }, [state]);
17
+ const state = usePatientChartPatientAndVisit(patientUuid);
18
+ const view = decodeURIComponent(encodedView);
44
19
 
45
20
  const leftNavBasePath = useMemo(() => spaBasePath.replace(':patientUuid', patientUuid), [patientUuid]);
46
21
 
@@ -50,43 +25,42 @@ const PatientChart: React.FC = () => {
50
25
  <>
51
26
  <SideMenuPanel />
52
27
  <main className={classNames('omrs-main-content', styles.chartContainer)}>
53
- <>
54
- <div
55
- className={classNames(
56
- styles.innerChartContainer,
57
- workspaceWindowState === 'normal' && active ? styles.closeWorkspace : styles.activeWorkspace,
58
- )}
59
- >
60
- {isLoadingPatient ? (
61
- <Loader />
62
- ) : (
63
- <>
64
- <aside>
65
- <ExtensionSlot name="patient-header-slot" state={state} />
66
- <ExtensionSlot name="patient-highlights-bar-slot" state={state} />
67
- <ExtensionSlot name="patient-info-slot" state={state} />
68
- </aside>
69
- <div className={styles.grid}>
70
- <div
71
- className={classNames(styles.chartReview, { [styles.widthContained]: layoutMode == 'contained' })}
72
- >
73
- <ChartReview
74
- patient={state.patient}
75
- patientUuid={state.patientUuid}
76
- view={view}
77
- setDashboardLayoutMode={setLayoutMode}
78
- />
79
- </div>
28
+ <div
29
+ className={classNames(
30
+ styles.innerChartContainer,
31
+ workspaceWindowState === 'normal' && active ? styles.closeWorkspace : styles.activeWorkspace,
32
+ )}
33
+ >
34
+ {state.isLoadingPatient ? (
35
+ <Loader />
36
+ ) : (
37
+ <>
38
+ <aside>
39
+ <ExtensionSlot name="patient-header-slot" state={state} />
40
+ <ExtensionSlot name="patient-highlights-bar-slot" state={state} />
41
+ <ExtensionSlot name="patient-info-slot" state={state} />
42
+ </aside>
43
+ <div className={styles.grid}>
44
+ <div
45
+ className={classNames(styles.chartReview, { [styles.widthContained]: layoutMode === 'contained' })}
46
+ >
47
+ <ChartReview
48
+ patient={state.patient}
49
+ patientUuid={state.patientUuid}
50
+ view={view}
51
+ setDashboardLayoutMode={setLayoutMode}
52
+ />
80
53
  </div>
81
- </>
82
- )}
83
- </div>
84
- </>
54
+ </div>
55
+ </>
56
+ )}
57
+ </div>
85
58
  </main>
86
59
  <WorkspaceContainer
87
- showSiderailAndBottomNav
88
- contextKey={`patient/${patientUuid}`}
60
+ actionMenuProps={state}
89
61
  additionalWorkspaceProps={state}
62
+ contextKey={`patient/${patientUuid}`}
63
+ showSiderailAndBottomNav
90
64
  />
91
65
  </>
92
66
  );
@@ -0,0 +1,108 @@
1
+ import { useEffect, useMemo } from 'react';
2
+ import useSWR from 'swr';
3
+ import { openmrsFetch, restBaseUrl, usePatient, useVisit, type Visit } from '@openmrs/esm-framework';
4
+ import { usePatientChartStore } from '@openmrs/esm-patient-common-lib';
5
+
6
+ const defaultVisitCustomRepresentation =
7
+ 'custom:(uuid,display,voided,indication,startDatetime,stopDatetime,' +
8
+ 'encounters:(uuid,display,encounterDatetime,' +
9
+ 'form:(uuid,name),location:ref,' +
10
+ 'encounterType:ref,' +
11
+ 'encounterProviders:(uuid,display,' +
12
+ 'provider:(uuid,display))),' +
13
+ 'patient:(uuid,display),' +
14
+ 'visitType:(uuid,name,display),' +
15
+ 'attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),' +
16
+ 'location:(uuid,name,display))';
17
+
18
+ export function useVisitByUuid(visitUuid: string | null, representation: string = defaultVisitCustomRepresentation) {
19
+ const url = `${restBaseUrl}/visit/${visitUuid}?v=${representation}`;
20
+ const { data, ...rest } = useSWR<{ data: Visit }>(visitUuid ? url : null, openmrsFetch);
21
+ return { visit: data?.data, ...rest };
22
+ }
23
+
24
+ /**
25
+ * This hook manages fetching of the patient and the visitContext
26
+ * when entering the patient chart, and the associated updated to patient chart store.
27
+ *
28
+ * The patient chart store sets the patient when we enter the patient chart
29
+ * and unsets the patient when we leave. (This gives extensions and workspaces a way
30
+ * to check whether they are rendered within the patient chart app.)
31
+ * Note: We do not unset visitContext when leaving the chart, so it persists across
32
+ * in‑app navigation. On a full page reload, visitContext is rehydrated by refetching
33
+ * (via useVisit/useVisitByUuId) rather than restored from storage.
34
+ * When we enter the chart, we want to update the visit context as follows:
35
+ * does the stored visitContext exist and belong to the patient?
36
+ * 1. If so, the visitContext should be valid but possibly stale; fetch the visit again
37
+ * and update the context
38
+ * 2. If not, fetch the active visit of the patient, If it exists, set it as the
39
+ * visitContext; otherwise, clear it.
40
+ * @param patientUuid
41
+ * @returns
42
+ */
43
+ export function usePatientChartPatientAndVisit(patientUuid: string) {
44
+ const { isLoading: isLoadingPatient, patient } = usePatient(patientUuid);
45
+ const {
46
+ patientUuid: storePatientUuid,
47
+ setPatient,
48
+ visitContext,
49
+ mutateVisitContext,
50
+ setVisitContext,
51
+ } = usePatientChartStore(patientUuid);
52
+
53
+ const isVisitContextValid = visitContext && visitContext.patient?.uuid === patientUuid;
54
+ const {
55
+ visit: newVisitContext,
56
+ mutate: newMutateVisitContext,
57
+ isValidating: isValidatingVisitContext,
58
+ } = useVisitByUuid(isVisitContextValid ? visitContext.uuid : null);
59
+ const {
60
+ activeVisit,
61
+ isValidating: isValidatingActiveVisit,
62
+ mutate: mutateActiveVisit,
63
+ } = useVisit(isVisitContextValid ? null : patientUuid);
64
+
65
+ useEffect(() => {
66
+ if (!isValidatingVisitContext && !isValidatingActiveVisit && storePatientUuid) {
67
+ if (activeVisit) {
68
+ setVisitContext(activeVisit, mutateActiveVisit);
69
+ } else if (newVisitContext) {
70
+ setVisitContext(newVisitContext, newMutateVisitContext);
71
+ } else {
72
+ setVisitContext(null, null);
73
+ }
74
+ }
75
+ }, [
76
+ newVisitContext,
77
+ isValidatingVisitContext,
78
+ newMutateVisitContext,
79
+ setVisitContext,
80
+ activeVisit,
81
+ isValidatingActiveVisit,
82
+ storePatientUuid,
83
+ mutateActiveVisit,
84
+ ]);
85
+
86
+ useEffect(() => {
87
+ if (!isLoadingPatient) {
88
+ setPatient(patient);
89
+ }
90
+
91
+ return () => {
92
+ setPatient(null);
93
+ };
94
+ }, [patient, setPatient, isLoadingPatient]);
95
+
96
+ const state = useMemo(
97
+ () => ({
98
+ patientUuid,
99
+ patient: patient ?? {},
100
+ visitContext,
101
+ mutateVisitContext,
102
+ isLoadingPatient,
103
+ }),
104
+ [patient, patientUuid, visitContext, mutateVisitContext, isLoadingPatient],
105
+ );
106
+
107
+ return state;
108
+ }