@kenyaemr/esm-morgue-app 5.3.7-pre.1499 → 5.3.7

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.
@@ -3,23 +3,30 @@ import styles from './compartment.scss';
3
3
  import { Button, Tag, InlineLoading } from '@carbon/react';
4
4
  import { View } from '@carbon/react/icons';
5
5
  import { toUpperCase } from '../helpers/expression-helper';
6
- import { ConfigurableLink, usePatient, Visit } from '@openmrs/esm-framework';
6
+ import { ConfigurableLink, ErrorState } from '@openmrs/esm-framework';
7
7
  import { useTranslation } from 'react-i18next';
8
- import usePerson from '../hook/useMorgue.resource';
9
8
  import { convertDateToDays } from '../utils/utils';
10
9
  import capitalize from 'lodash-es/capitalize';
10
+ import { DeceasedInfo } from '../types';
11
+ import usePerson, { useActiveMorgueVisit } from '../hook/useMorgue.resource';
11
12
 
12
13
  interface AvailableCompartmentProps {
13
- patientVisitInfo: Visit;
14
+ patientInfo: DeceasedInfo;
14
15
  index: number;
15
16
  }
16
17
 
17
- const AvailableCompartment: React.FC<AvailableCompartmentProps> = ({ patientVisitInfo, index }) => {
18
+ const AvailableCompartment: React.FC<AvailableCompartmentProps> = ({ patientInfo, index }) => {
18
19
  const { t } = useTranslation();
19
- const patientUuid = patientVisitInfo?.patient?.uuid;
20
- const { isLoading, error, person } = usePerson(patientUuid);
20
+ const { isLoading, error, person } = usePerson(patientInfo.uuid);
21
+ const {
22
+ data: activeDeceased,
23
+ error: isActiveError,
24
+ isLoading: isActiveLoading,
25
+ } = useActiveMorgueVisit(patientInfo?.uuid);
21
26
 
22
- if (isLoading) {
27
+ const startVisitDate = activeDeceased?.[0]?.startDatetime;
28
+
29
+ if (isLoading || isActiveLoading) {
23
30
  return (
24
31
  <InlineLoading
25
32
  status="active"
@@ -29,7 +36,11 @@ const AvailableCompartment: React.FC<AvailableCompartmentProps> = ({ patientVisi
29
36
  );
30
37
  }
31
38
 
32
- const daysSpent = convertDateToDays(patientVisitInfo?.startDatetime);
39
+ if (error || isActiveError) {
40
+ return <ErrorState error={error} headerTitle={t('allocation', 'Allocation')} />;
41
+ }
42
+
43
+ const daysSpent = convertDateToDays(startVisitDate);
33
44
  const timeSpentTagType = daysSpent > 17 ? 'red' : 'blue';
34
45
 
35
46
  const causeOfDeathDisplay = person?.causeOfDeath?.display;
@@ -61,11 +72,12 @@ const AvailableCompartment: React.FC<AvailableCompartmentProps> = ({ patientVisi
61
72
  <span className={styles.viewDetails}>
62
73
  <ConfigurableLink
63
74
  className={styles.viewDetailsLink}
64
- to={`\${openmrsSpaBase}/patient/${patientUuid}/chart/deceased-panel`}>
75
+ to={`\${openmrsSpaBase}/patient/${patientInfo.uuid}/chart/deceased-panel`}>
65
76
  <View size={20} />
66
77
  </ConfigurableLink>
67
78
  </span>
68
79
  </div>
80
+ <div className={styles.borderLine}></div>
69
81
  <div className={styles.cardRow}>
70
82
  <span className={styles.deceasedReason}>
71
83
  {t('timeSpent', 'Time spent ')}
@@ -73,6 +85,9 @@ const AvailableCompartment: React.FC<AvailableCompartmentProps> = ({ patientVisi
73
85
  {daysSpent} {t('days', 'days')}
74
86
  </Tag>
75
87
  </span>
88
+ <Tag size="md" type="green">
89
+ {patientInfo?.status}
90
+ </Tag>
76
91
  </div>
77
92
  </div>
78
93
  );
@@ -2,26 +2,27 @@ import React from 'react';
2
2
  import styles from './compartment.scss';
3
3
  import EmptyCompartment from './empty-compartment.component';
4
4
  import AvailableCompartment from './avail-compartment.compartment';
5
- import { Visit } from '@openmrs/esm-framework';
6
5
  import EmptyDeceasedSearch from '../empty-state/empty-search-deceased.component';
7
6
  import { useTranslation } from 'react-i18next';
7
+ import { DeceasedInfo } from '../types';
8
8
 
9
9
  interface CompartmentViewProps {
10
- patientVisit: Array<Visit>;
10
+ patientVisit: { results: DeceasedInfo[] };
11
11
  searchQuery: string;
12
12
  }
13
13
 
14
14
  const CompartmentView: React.FC<CompartmentViewProps> = ({ patientVisit, searchQuery }) => {
15
15
  const { t } = useTranslation();
16
- const filteredPatients = patientVisit.filter((patient) =>
17
- patient.patient.display.toLowerCase().includes(searchQuery.toLowerCase()),
16
+
17
+ const filteredPatients = patientVisit.results?.filter((patient) =>
18
+ patient.person.display.toLowerCase().includes(searchQuery.toLowerCase()),
18
19
  );
19
20
 
20
21
  return filteredPatients.length > 0 ? (
21
22
  <div className={styles.allPatientCardWrapper}>
22
23
  {filteredPatients.map((patient, index) => (
23
- <div key={index} className={styles.cardRow}>
24
- {patient ? <AvailableCompartment patientVisitInfo={patient} index={index} /> : <EmptyCompartment />}
24
+ <div key={patient.uuid} className={styles.cardRow}>
25
+ <AvailableCompartment patientInfo={patient} index={index} />
25
26
  </div>
26
27
  ))}
27
28
  </div>
@@ -114,3 +114,10 @@
114
114
  align-items: center;
115
115
  text-align: center;
116
116
  }
117
+
118
+ .borderLine {
119
+ width: 100%;
120
+ height: 1px;
121
+ background-color: colors.$gray-30;
122
+ margin: layout.$spacing-03 0;
123
+ }
@@ -43,6 +43,11 @@ export const configSchema = {
43
43
  _description: 'Encounter type for morgue admission',
44
44
  _default: '3d2df845-6f3c-45e7-b91a-d828a1f9c2e8',
45
45
  },
46
+ morgueDischargeEncounterTypeUuid: {
47
+ type: Type.String,
48
+ _description: 'Encounter type for morgue discharge',
49
+ _default: ' d618f40b-b5a3-4f17-81c8-2f04e2aad58e',
50
+ },
46
51
  visitPaymentMethodAttributeUuid: {
47
52
  _type: Type.String,
48
53
  _description: 'UUID for visit payment method attribute',
@@ -121,4 +126,5 @@ export type ConfigObject = {
121
126
  burialPermitNumberUuid: string;
122
127
  policeIDNumber: string;
123
128
  dischargeAreaUuid: string;
129
+ morgueDischargeEncounterTypeUuid: string;
124
130
  };
@@ -5,25 +5,79 @@ import {
5
5
  restBaseUrl,
6
6
  useConfig,
7
7
  useOpenmrsPagination,
8
- type Visit,
9
8
  } from '@openmrs/esm-framework';
10
- import { DeceasedPatientResponse, PaymentMethod, VisitTypeResponse, Location, Patient } from '../types';
9
+ import { DeceasedPatientResponse, PaymentMethod, VisitTypeResponse, Location, Patient, Visit } from '../types';
11
10
  import useSWR from 'swr';
12
11
  import { BillingConfig, ConfigObject } from '../config-schema';
13
- import { useState } from 'react';
12
+ import { useEffect, useState } from 'react';
14
13
  import useSWRImmutable from 'swr/immutable';
15
14
  import { makeUrlUrl } from '../utils/utils';
16
15
 
16
+ const getMorguePatientStatus = async (
17
+ patientUuid: string,
18
+ morgueVisitTypeUuid: string,
19
+ morgueDischargeEncounter: string,
20
+ ): Promise<'discharged' | 'admitted' | 'awaiting'> => {
21
+ const customRepresentation = 'custom:(visitType:(uuid),startDatetime,stopDatetime,encounters:(encounterType:(uuid)))';
22
+ const url = `${restBaseUrl}/visit?v=${customRepresentation}&includeInactive=false&patient=${patientUuid}&limit=1`;
23
+ const response = await openmrsFetch<{
24
+ results: Array<{
25
+ visitType: { uuid: string };
26
+ startDatetime: string;
27
+ stopDatetime: any;
28
+ encounters: Array<{
29
+ encounterType: {
30
+ uuid: string;
31
+ };
32
+ }>;
33
+ }>;
34
+ }>(url);
35
+ const visit = response?.data?.results[0];
36
+ const hasDischargeEncounter = visit?.encounters?.some(
37
+ (encounter) => encounter.encounterType.uuid === morgueDischargeEncounter,
38
+ );
39
+ const isMorgueVisit = visit?.visitType?.uuid === morgueVisitTypeUuid;
40
+ const isVisitActive = !(typeof visit?.stopDatetime === 'string');
41
+ if (!isMorgueVisit) {
42
+ return 'awaiting';
43
+ }
44
+ if (hasDischargeEncounter) {
45
+ return 'discharged';
46
+ }
47
+ return 'admitted';
48
+ };
17
49
  export const useDeceasedPatient = () => {
50
+ const { morgueVisitTypeUuid, morgueDischargeEncounterTypeUuid } = useConfig<ConfigObject>();
51
+ const [deceasedPatient, setDeceasedPatient] = useState([]);
52
+ const [isLoadingStatus, setIsLoadingStatus] = useState(false);
53
+ const [statusError, setStatusError] = useState();
18
54
  const customRepresentation =
19
55
  'custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name)),person:(uuid,display,gender,birthdate,dead,age,deathDate,causeOfDeath:(uuid,display),preferredAddress:(uuid,stateProvince,countyDistrict,address4)))';
20
56
  const url = `${restBaseUrl}/morgue/patient?v=${customRepresentation}&dead=true`;
21
57
 
22
- const { data, error, isLoading, mutate } = useSWRImmutable<{ data: DeceasedPatientResponse }>(url, openmrsFetch);
23
-
24
- const deceasedPatient = data?.data?.results || null;
25
-
26
- return { data: deceasedPatient, error, isLoading, mutate };
58
+ const { data, error, isLoading } = useSWRImmutable<{ data: DeceasedPatientResponse }>(url, openmrsFetch);
59
+ useEffect(() => {
60
+ if (data?.data?.results?.length) {
61
+ (async () => {
62
+ try {
63
+ setIsLoadingStatus(true);
64
+ const status = await Promise.all(
65
+ data.data.results.map((data) => {
66
+ return getMorguePatientStatus(data?.uuid, morgueVisitTypeUuid, morgueDischargeEncounterTypeUuid);
67
+ }),
68
+ );
69
+
70
+ setDeceasedPatient(data.data.results.map((patient, index) => ({ ...patient, status: status[index] })));
71
+ } catch (error) {
72
+ setStatusError(error);
73
+ } finally {
74
+ setIsLoadingStatus(false);
75
+ }
76
+ })();
77
+ }
78
+ }, [morgueVisitTypeUuid, morgueDischargeEncounterTypeUuid, data]);
79
+
80
+ return { data: deceasedPatient, error: error ?? statusError, isLoading: isLoading || isLoadingStatus };
27
81
  };
28
82
 
29
83
  export const usePatientPaginatedEncounters = (patientUuid: string) => {
@@ -106,9 +160,9 @@ export const startVisitWithEncounter = (payload) => {
106
160
  const postUrl = `${restBaseUrl}/encounter`;
107
161
  return openmrsFetch(postUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: payload });
108
162
  };
109
- export const useActiveMorgueVisit = () => {
110
- const { morgueVisitTypeUuid } = useConfig<ConfigObject>();
111
- const url = `${restBaseUrl}/visit?v=full&includeInactive=false&totalCount=true&visitType=${morgueVisitTypeUuid}`;
163
+ export const useActiveMorgueVisit = (patientUuid: string) => {
164
+ const customRepresentation = 'custom:(visitType:(uuid),startDatetime,stopDatetime,encounters:(encounterType:(uuid)))';
165
+ const url = `${restBaseUrl}/visit?v=${customRepresentation}&includeInactive=false&patient=${patientUuid}&limit=1`;
112
166
  const { data, error, isLoading } = useSWR<FetchResponse<{ results: Array<Visit> }>>(url, openmrsFetch);
113
167
  const activeDeceased = data?.data?.results;
114
168
 
@@ -3,12 +3,12 @@ import { useTranslation } from 'react-i18next';
3
3
  import DeceasedFilter from '../header/admitted-queue-header.component';
4
4
  import styles from './admitted-queue.scss';
5
5
  import CompartmentView from '../card/compartment-view.compartment';
6
- import usePatientPerson, { useActiveMorgueVisit } from '../hook/useMorgue.resource';
6
+ import { useDeceasedPatient } from '../hook/useMorgue.resource';
7
7
  import { InlineLoading } from '@carbon/react';
8
8
  import { CardHeader, ErrorState } from '@openmrs/esm-patient-common-lib';
9
9
 
10
10
  export const AdmittedQueue: React.FC = () => {
11
- const { data: activeDeceased, error, isLoading } = useActiveMorgueVisit();
11
+ const { data: deceasedPatients, error, isLoading } = useDeceasedPatient();
12
12
  const { t } = useTranslation();
13
13
  const [searchQuery, setSearchQuery] = useState('');
14
14
 
@@ -16,6 +16,8 @@ export const AdmittedQueue: React.FC = () => {
16
16
  setSearchQuery(query);
17
17
  };
18
18
 
19
+ const admittedPatients = deceasedPatients?.filter((patient) => patient.status === 'admitted') || [];
20
+
19
21
  if (isLoading) {
20
22
  return (
21
23
  <InlineLoading
@@ -35,7 +37,9 @@ export const AdmittedQueue: React.FC = () => {
35
37
  <CardHeader title={t('allocation', 'Allocation')} children={''} />
36
38
  <DeceasedFilter onSearchChange={handleSearchChange} />
37
39
  <div className={styles.patientCardContainer}>
38
- <CompartmentView patientVisit={activeDeceased} searchQuery={searchQuery} />
40
+ <div className={styles.patientCardContainer}>
41
+ <CompartmentView patientVisit={{ results: admittedPatients }} searchQuery={searchQuery} />
42
+ </div>
39
43
  </div>
40
44
  </div>
41
45
  );
@@ -5,7 +5,7 @@ import { toUpperCase } from '../helpers/expression-helper';
5
5
  import { Tag, Button, DataTableSkeleton, OverflowMenu, OverflowMenuItem } from '@carbon/react';
6
6
  import styles from './generic-table.scss';
7
7
  import { useTranslation } from 'react-i18next';
8
- import { useDeceasedPatient, useVisitType } from '../hook/useMorgue.resource';
8
+ import { useDeceasedPatient } from '../hook/useMorgue.resource';
9
9
 
10
10
  export const WaitingQueue: React.FC = () => {
11
11
  const { data: deceasedPatients, error, isLoading } = useDeceasedPatient();
@@ -15,11 +15,11 @@ export const WaitingQueue: React.FC = () => {
15
15
  const genericTableHeader = [
16
16
  { header: 'Patient Name', key: 'name' },
17
17
  { header: 'Gender', key: 'gender' },
18
- { header: 'Identifier ', key: 'identifier' },
18
+ { header: 'Identifier', key: 'identifier' },
19
19
  { header: 'Age', key: 'age' },
20
20
  { header: 'Date of Death', key: 'deathDate' },
21
21
  { header: 'Cause of Death', key: 'causeOfDeath' },
22
- ,
22
+ { header: 'Status', key: 'status' },
23
23
  ];
24
24
 
25
25
  if (isLoading) {
@@ -37,11 +37,14 @@ export const WaitingQueue: React.FC = () => {
37
37
  </div>
38
38
  );
39
39
  }
40
+
40
41
  if (error) {
41
42
  return <ErrorState error={error} headerTitle={t('waitingQueue', 'Waiting queue')} />;
42
43
  }
43
44
 
44
- const rows = deceasedPatients?.map((patient, index) => ({
45
+ const awaitingPatients = deceasedPatients?.filter((patient) => patient?.status === 'awaiting') || [];
46
+
47
+ const rows = awaitingPatients.map((patient) => ({
45
48
  id: patient.uuid,
46
49
  name: toUpperCase(patient.person.display),
47
50
  gender: patient.person.gender,
@@ -49,13 +52,16 @@ export const WaitingQueue: React.FC = () => {
49
52
  identifier: patient?.identifiers[0]?.identifier,
50
53
  deathDate: formatDate(new Date(patient.person.deathDate)),
51
54
  causeOfDeath: patient.person.causeOfDeath?.display,
55
+ status: <Tag type="magenta">{patient.status}</Tag>,
52
56
  }));
57
+
53
58
  const handleAdmissionForm = (patientUuid: string) => {
54
59
  launchWorkspace('patient-additional-info-form', {
55
60
  workspaceTitle: t('admissionForm', 'Admission form'),
56
61
  patientUuid,
57
62
  });
58
63
  };
64
+
59
65
  const handleDischargeForm = (patientUuid: string) => {
60
66
  launchWorkspace('discharge-body-form', {
61
67
  workspaceTitle: t('dischargeForm', 'Discharge form'),
@@ -30,12 +30,9 @@ export interface Patient {
30
30
  } | null;
31
31
  };
32
32
  }
33
- export interface DeceasedPatientResponse {
34
- results: Patient[];
35
- }
36
-
37
33
  export interface DeceasedInfo {
38
34
  uuid: string;
35
+ status?: string;
39
36
  display: string;
40
37
  identifiers: Array<{
41
38
  identifier: string;
@@ -121,3 +118,65 @@ export interface Location {
121
118
  uuid: string;
122
119
  display: string;
123
120
  }
121
+
122
+ export interface Visit {
123
+ uuid: string;
124
+ display?: string;
125
+ encounters: EncounterList[];
126
+ patient?: {
127
+ uuid: string;
128
+ display: string;
129
+ person: {
130
+ uuid: string;
131
+ display: string;
132
+ gender: string;
133
+ birthdate: string;
134
+ dead: boolean;
135
+ age: number;
136
+ deathDate: string;
137
+ causeOfDeath: {
138
+ uuid: string;
139
+ display: string;
140
+ };
141
+ };
142
+ };
143
+ visitType: VisitType;
144
+ location?: Location;
145
+ startDatetime: string;
146
+ stopDatetime?: string;
147
+ }
148
+
149
+ export interface VisitType {
150
+ uuid: string;
151
+ display: string;
152
+ name?: string;
153
+ }
154
+
155
+ export interface EncounterList {
156
+ uuid: string;
157
+ display: string;
158
+ encounterDatetime: string;
159
+ patient: {
160
+ uuid: string;
161
+ display: string;
162
+ person: {
163
+ uuid: string;
164
+ display: string;
165
+ gender: string;
166
+ birthdate: string;
167
+ dead: boolean;
168
+ age: number;
169
+ deathDate: string;
170
+ causeOfDeath: {
171
+ uuid: string;
172
+ display: string;
173
+ };
174
+ };
175
+ };
176
+ form: string;
177
+ encounterType: {
178
+ uuid: string;
179
+ display: string;
180
+ name: string;
181
+ };
182
+ }
package/dist/503.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_morgue_app=globalThis.webpackChunk_kenyaemr_esm_morgue_app||[]).push([[503],{4240:(e,t,r)=>{r.d(t,{yG:()=>l});var n,c=r(380),u=r.n(c),f=r(9247);const l=u().forwardRef((function(e,t){let{children:r,size:c=16,...l}=e;return u().createElement(f.A,{width:c,height:c,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...l},n||(n=u().createElement("path",{d:"M24,20l-1.41,1.41L26.17,25H10a4,4,0,0,1,0-8H22A6,6,0,0,0,22,5H5.83L9.41,1.41,8,0,2,6l6,6,1.41-1.41L5.83,7H22a4,4,0,0,1,0,8H10a6,6,0,0,0,0,12H26.17l-3.58,3.59L24,32l6-6Z"})),r)}))},8285:(e,t,r)=>{r.d(t,{W5:()=>a});var n,c,u=r(380),f=r.n(u),l=r(9247);const a=f().forwardRef((function(e,t){let{children:r,size:u=16,...a}=e;return f().createElement(l.A,{width:u,height:u,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...a},n||(n=f().createElement("path",{d:"M25,16H17a2.0023,2.0023,0,0,0-2,2v6H4V14H2V30H4V26H28v4h2V21A5.0059,5.0059,0,0,0,25,16Zm3,8H17V18h8a3.0033,3.0033,0,0,1,3,3Z"})),c||(c=f().createElement("path",{d:"M9.5 17A1.5 1.5 0 118 18.5 1.5017 1.5017 0 019.5 17m0-2A3.5 3.5 0 1013 18.5 3.5 3.5 0 009.5 15zM21 6L17 6 17 2 15 2 15 6 11 6 11 8 15 8 15 12 17 12 17 8 21 8 21 6z"})),r)}))},3760:(e,t,r)=>{r.d(t,{Bo:()=>s});var n,c,u,f,l,a,d,o,i=r(380),h=r.n(i),H=r(9247);const s=h().forwardRef((function(e,t){let{children:r,size:i=16,...s}=e;return h().createElement(H.A,{width:i,height:i,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"currentColor",...s},n||(n=h().createElement("path",{d:"M20 25H27V27H20zM22 29H25V31H22zM27 23h-2c0-1.1.4-2 1.2-2.8l.5-.5c.8-.8 1.3-2 1.3-3.2 0-2.5-2-4.5-4.5-4.5S19 14 19 16.5c0 1.2.5 2.3 1.3 3.2l.5.5C21.6 21 22 21.9 22 23h-2c0-.5-.2-1-.6-1.4l-.5-.5c-1.2-1.2-1.9-2.9-1.9-4.6 0-3.6 2.9-6.5 6.5-6.5s6.5 2.9 6.5 6.5c0 1.7-.7 3.4-1.9 4.6l-.5.5C27.2 22 27 22.5 27 23zM6 22H14V24H6z"})),c||(c=h().createElement("circle",{cx:"12",cy:"19",r:"1"})),u||(u=h().createElement("path",{d:"M6 18H9V20H6zM6 14H13V16H6zM10 10H17V12H10z"})),f||(f=h().createElement("circle",{cx:"7",cy:"11",r:"1"})),l||(l=h().createElement("path",{d:"M16 6H20V8H16z"})),a||(a=h().createElement("circle",{cx:"13",cy:"7",r:"1"})),d||(d=h().createElement("path",{d:"M6 6H10V8H6z"})),o||(o=h().createElement("path",{d:"M18,28H4V4l18,0v4h2V4c0-1.1-0.9-2-2-2H4C2.9,2,2,2.9,2,4v24c0,1.1,0.9,2,2,2h14V28z"})),r)}))},8931:(e,t,r)=>{r.d(t,{A:()=>V});var n=r(587),c=r(8007);var u=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const f=function(e){return u.test(e)};var l="\\ud800-\\udfff",a="["+l+"]",d="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",o="\\ud83c[\\udffb-\\udfff]",i="[^"+l+"]",h="(?:\\ud83c[\\udde6-\\uddff]){2}",H="[\\ud800-\\udbff][\\udc00-\\udfff]",s="(?:"+d+"|"+o+")?",m="[\\ufe0e\\ufe0f]?",w=m+s+"(?:\\u200d(?:"+[i,h,H].join("|")+")"+m+s+")*",p="(?:"+[i+d+"?",d,h,H,a].join("|")+")",v=RegExp(o+"(?="+o+")|"+p+w,"g");const g=function(e){return f(e)?function(e){return e.match(v)||[]}(e):function(e){return e.split("")}(e)},E=function(e){e=(0,n.A)(e);var t,r,u,l,a=f(e)?g(e):void 0,d=a?a[0]:e.charAt(0),o=a?(t=a,r=1,l=t.length,u=void 0===u?l:u,!r&&u>=l?t:(0,c.A)(t,r,u)).join(""):e.slice(1);return d.toUpperCase()+o},V=function(e){return E((0,n.A)(e).toLowerCase())}}}]);
package/dist/503.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"503.js","mappings":"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","sources":["webpack://@kenyaemr/esm-morgue-app/../../node_modules/@carbon/icons-react/es/generated/bucket-11.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/@carbon/icons-react/es/generated/bucket-7.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/@carbon/icons-react/es/generated/bucket-8.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/lodash-es/_hasUnicode.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/lodash-es/_unicodeToArray.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/lodash-es/_stringToArray.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/lodash-es/_asciiToArray.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/lodash-es/upperFirst.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/lodash-es/_createCaseFirst.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/lodash-es/_castSlice.js","webpack://@kenyaemr/esm-morgue-app/../../node_modules/lodash-es/capitalize.js"],"names":["_path51","Movement","_ref31","ref","children","size","rest","width","height","xmlns","viewBox","fill","d","_path127","_path128","HospitalBed","_ref80","_path168","_circle43","_path169","_circle44","_path170","_circle45","_path171","_path172","IbmWatsonKnowledgeStudio","_ref78","cx","cy","r","reHasUnicode","RegExp","string","test","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsModifier","rsOptVar","rsSeq","join","rsSymbol","reUnicode","match","split","array","start","end","length","strSymbols","undefined","chr","charAt","trailing","slice","toLowerCase"],"sourceRoot":""}