@ampath/esm-dha-workflow-app 4.0.0-next.333 → 4.0.0-next.337

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.
@@ -1,7 +1,7 @@
1
- import React, { useMemo, useState } from 'react';
2
- import { type PatientPayment, type PatientFacilityBillDetails } from '../../types';
1
+ import React, { useEffect, useMemo, useState } from 'react';
2
+ import { type PatientPayment, type PatientFacilityBillDetails, ClaimsVisit } from '../../types';
3
3
  import styles from './bill-details.scss';
4
- import { OverflowMenu, OverflowMenuItem, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@carbon/react';
4
+ import { Button, OverflowMenu, OverflowMenuItem, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tag } from '@carbon/react';
5
5
  import { formatDate, parseDate } from '@openmrs/esm-framework';
6
6
  import BillItemPaymentModal from '../modals/bill-item-payment/bill-item-payment.modal';
7
7
  import AddClaimLineModal from '../modals/add-claim-line/add-claim-line.modal';
@@ -15,51 +15,64 @@ interface billDetailsProps {
15
15
  amrsVisitDiagnosis: AmrsVisitDiagnosis[];
16
16
  consentToken: string;
17
17
  locationUuid: string;
18
+ claimsVisit: ClaimsVisit;
18
19
  }
19
- const BillDetails: React.FC<billDetailsProps> = ({ patientBillDetails, patientPayments, amrsVisitDiagnosis, consentToken, locationUuid }) => {
20
- const [showPaymentModal,setShowPaymentModal] = useState<boolean>(false);
21
- const [showAddClaimLineModal,setShowAddClaimLineModal] = useState<boolean>(false);
22
- const [selectedBillItem,setSelectedBillItem] = useState<PatientFacilityBillDetails | null>(null);
23
- const setDiagnosisInterventionCode = useMemo(()=>getConsultationBillIntervantionCode(),[patientBillDetails]);
20
+ const BillDetails: React.FC<billDetailsProps> = ({ patientBillDetails, patientPayments, amrsVisitDiagnosis, consentToken, locationUuid, claimsVisit }) => {
21
+ const [showPaymentModal, setShowPaymentModal] = useState<boolean>(false);
22
+ const [showAddClaimLineModal, setShowAddClaimLineModal] = useState<boolean>(false);
23
+ const [selectedBillItem, setSelectedBillItem] = useState<PatientFacilityBillDetails | null>(null);
24
+ const setDiagnosisInterventionCode = useMemo(() => getConsultationBillIntervantionCode(), [patientBillDetails]);
24
25
  const invalidateProviderClaimPreview = useInvalidateProviderClaimPreview();
25
-
26
+
26
27
  if (!patientBillDetails && !patientPayments) {
27
28
  return <>No Data</>;
28
29
  }
29
- function handleBillItemPayment(patientBillDetail: PatientFacilityBillDetails){
30
- setSelectedBillItem(patientBillDetail);
31
- setShowPaymentModal(true);
30
+ function handleBillItemPayment(patientBillDetail: PatientFacilityBillDetails) {
31
+ setSelectedBillItem(patientBillDetail);
32
+ setShowPaymentModal(true);
32
33
  }
33
- function handleClosePayModal(){
34
- setShowPaymentModal(false);
34
+ function handleClosePayModal() {
35
+ setShowPaymentModal(false);
35
36
  }
36
- function handleSuccessfullPayment(){
37
+ function handleSuccessfullPayment() {
37
38
  handleClosePayModal();
38
39
  }
39
- function handleClaimLineAddition(patientBillDetail: PatientFacilityBillDetails){
40
+ function handleClaimLineAddition(patientBillDetail: PatientFacilityBillDetails) {
40
41
  setSelectedBillItem(patientBillDetail);
41
42
  setShowAddClaimLineModal(true);
42
43
  }
43
- function handleCloseAddClaimItemModal(){
44
- setShowAddClaimLineModal(false);
44
+ function handleCloseAddClaimItemModal() {
45
+ setShowAddClaimLineModal(false);
45
46
  }
46
- function getConsultationBillIntervantionCode(){
47
- if(!patientBillDetails || patientBillDetails.length === 0){
48
- return '';
47
+ function getConsultationBillIntervantionCode() {
48
+ if (!patientBillDetails || patientBillDetails.length === 0) {
49
+ return '';
49
50
  }
50
- const consultationBill = patientBillDetails.find((b)=>{
51
- return b.billable_service.toLocaleLowerCase().trim().includes('consultation');
52
- });
53
- if(consultationBill){
54
- return consultationBill.intervention_code;
55
- }else{
51
+ const consultationBill = patientBillDetails.find((b) => {
52
+ return b.billable_service.toLocaleLowerCase().trim().includes('consultation');
53
+ });
54
+ if (consultationBill) {
55
+ return consultationBill.intervention_code;
56
+ } else {
56
57
  return patientBillDetails[0].intervention_code ?? '';
57
58
  }
58
59
  }
59
- function onSuccess () {
60
+ function onSuccess() {
60
61
  handleCloseAddClaimItemModal();
61
62
  invalidateProviderClaimPreview();
62
63
  }
64
+ function interventionAddedToClaimLine(b: PatientFacilityBillDetails) {
65
+ if (b.intervention_code && b.has_claim_line === 0) {
66
+ if (claimsVisit && claimsVisit.invoices) {
67
+ const lineExists = claimsVisit.invoices.some((inv) =>
68
+ inv.lines.some(l => l.intervention_code === b.intervention_code)
69
+ );
70
+ return lineExists;
71
+ }
72
+ return false;
73
+ }
74
+ return true;
75
+ }
63
76
  return (
64
77
  <>
65
78
  <div className={styles.billDetailsLayout}>
@@ -97,18 +110,34 @@ const BillDetails: React.FC<billDetailsProps> = ({ patientBillDetails, patientPa
97
110
  <TableCell>{b.order_no ?? ''}</TableCell>
98
111
  <TableCell>{b.service_type ?? ''}</TableCell>
99
112
  <TableCell>{b.payment_scheme}</TableCell>
100
- <TableCell>{b.payment_status}</TableCell>
113
+ <TableCell>{b.paid_status}</TableCell>
101
114
  <TableCell>{b.item_quantity}</TableCell>
102
115
  <TableCell>Ksh {b.item_total_price}</TableCell>
103
116
  <TableCell>
104
- <OverflowMenu aria-label="overflow-menu">
117
+ {/* <OverflowMenu aria-label="overflow-menu">
105
118
  {
106
- (b.payment_status !== 'PAID') && <OverflowMenuItem itemText="Pay" onClick={() => handleBillItemPayment(b)} />
119
+ (b.paid_status !== 'PAID' && !b.intervention_code) && <OverflowMenuItem itemText="Pay" onClick={() => handleBillItemPayment(b)} />
107
120
  }
108
121
  {
109
122
  (b.intervention_code && b.has_claim_line === 0) && <OverflowMenuItem itemText="Add Claim Line" onClick={() => handleClaimLineAddition(b)} />
110
123
  }
111
- </OverflowMenu>
124
+ </OverflowMenu> */}
125
+ {
126
+ (b.paid_status !== 'PAID' && !b.intervention_code) && <Button size="sm" kind="tertiary" onClick={() => handleBillItemPayment(b)}>Pay</Button>
127
+ }
128
+ {
129
+ b.intervention_code ?
130
+ (
131
+ claimsVisit ?
132
+ (
133
+ claimsVisit.workflow_state === 'DRAFT' ?
134
+ (!interventionAddedToClaimLine(b) && <Button size="sm" kind="tertiary" onClick={() => handleClaimLineAddition(b)}>Add Claim Line</Button>)
135
+ : <Tag>{claimsVisit.workflow_state}</Tag>
136
+ )
137
+ : <></>
138
+ )
139
+ : <></>
140
+ }
112
141
  </TableCell>
113
142
  </TableRow>
114
143
  </>
@@ -165,37 +194,38 @@ const BillDetails: React.FC<billDetailsProps> = ({ patientBillDetails, patientPa
165
194
  )}
166
195
  {
167
196
  amrsVisitDiagnosis.length > 0 ? (<>
168
- <div className={styles.billRow}>
197
+ <div className={styles.billRow}>
169
198
  <div>
170
199
  <h6>Patient Dignosis</h6>
171
200
  </div>
172
201
  <div>
173
- <VisitDiagnosisDetails
174
- amrsVisitDiagnosis={amrsVisitDiagnosis}
175
- consentToken={consentToken}
176
- locationUuid={locationUuid}
177
- interventionCode={setDiagnosisInterventionCode}
178
- />
179
- </div>
180
- </div>
181
-
182
- </>):(<></>)
202
+ <VisitDiagnosisDetails
203
+ amrsVisitDiagnosis={amrsVisitDiagnosis}
204
+ consentToken={consentToken}
205
+ locationUuid={locationUuid}
206
+ interventionCode={setDiagnosisInterventionCode}
207
+ claimsVisit={claimsVisit}
208
+ />
209
+ </div>
210
+ </div>
211
+
212
+ </>) : (<></>)
183
213
  }
184
214
  {
185
- (showPaymentModal && selectedBillItem) && <BillItemPaymentModal
186
- open={showPaymentModal}
187
- billItem={selectedBillItem}
188
- onClose={handleClosePayModal}
189
- onPay={handleSuccessfullPayment}/>
215
+ (showPaymentModal && selectedBillItem) && <BillItemPaymentModal
216
+ open={showPaymentModal}
217
+ billItem={selectedBillItem}
218
+ onClose={handleClosePayModal}
219
+ onPay={handleSuccessfullPayment} />
190
220
  }
191
221
  {
192
- (showAddClaimLineModal && selectedBillItem) && <AddClaimLineModal
193
- open={showAddClaimLineModal}
194
- billItem={selectedBillItem}
195
- onClose={handleCloseAddClaimItemModal}
196
- onSuccess={onSuccess}
197
- locationUuid={locationUuid}
198
- consentToken={consentToken}
222
+ (showAddClaimLineModal && selectedBillItem) && <AddClaimLineModal
223
+ open={showAddClaimLineModal}
224
+ billItem={selectedBillItem}
225
+ onClose={handleCloseAddClaimItemModal}
226
+ onSuccess={onSuccess}
227
+ locationUuid={locationUuid}
228
+ consentToken={consentToken}
199
229
  />
200
230
  }
201
231
  </div>
@@ -12,16 +12,24 @@ interface patientClaimDetailsProps {
12
12
  locationUuid: string;
13
13
  patientBillDetails: PatientFacilityBillDetails[];
14
14
  onBillDetailsChange?: () => void;
15
+ onLoadingClaimVisit?: (claimVisit: ClaimsVisit) => void;
15
16
  }
16
17
  const PatientClaimDetails: React.FC<patientClaimDetailsProps> = ({
17
18
  consentToken,
18
19
  locationUuid,
19
20
  patientBillDetails,
20
21
  onBillDetailsChange,
22
+ onLoadingClaimVisit
21
23
  }) => {
22
24
  const [patientBill, setPatientBill] = useState<PatientFacilityBillDetails>();
23
25
  const { claimVisit, isLoading, isValidating } = useProviderClaimPreview(consentToken, locationUuid);
24
26
 
27
+ useEffect(() => {
28
+ if (claimVisit && !isLoading && !isValidating) {
29
+ onLoadingClaimVisit(claimVisit);
30
+ }
31
+ }, [claimVisit, isLoading, isValidating])
32
+
25
33
  useEffect(() => {
26
34
  if (consentToken && locationUuid) {
27
35
  getPatientBill();
@@ -5,6 +5,7 @@ import {
5
5
  type PatientFacilityBillDetails,
6
6
  type PatientPaymentsDto,
7
7
  type PatientPayment,
8
+ ClaimsVisit,
8
9
  } from '../types';
9
10
  import {
10
11
  fetchMaternityDiagnosis,
@@ -17,7 +18,7 @@ import { showSnackbar } from '@openmrs/esm-styleguide';
17
18
  import { Tab, TabList, TabPanel, TabPanels, Tabs } from '@carbon/react';
18
19
  import BillDetails from './bill-details/bill-details';
19
20
  import PatientClaimDetails from './claim-details/patient-claim-details.component';
20
- import { type AmrsVisitDiagnosisDto, type AmrsVisitDiagnosis,type AmrsMaternityDiagnosisDto } from '../../../types';
21
+ import { type AmrsVisitDiagnosisDto, type AmrsVisitDiagnosis, type AmrsMaternityDiagnosisDto } from '../../../types';
21
22
  import { resolveConsentTokenFromBillLines } from '../../v2/patient-bill-details/payment-mode';
22
23
  interface patientBillDetailsProps {
23
24
  patientUuid: string;
@@ -32,13 +33,14 @@ const PatientBillDetails: React.FC<patientBillDetailsProps> = ({ patientUuid, lo
32
33
  return patientBillDetails[0] ?? null;
33
34
  }, [patientBillDetails]);
34
35
  const billStatus = useMemo(() => getBillStatus(patientBillDetails), [patientBillDetails]);
35
- const [visitDiagnosis, setVisitDiagnosis] = useState<AmrsVisitDiagnosis[]>([]);
36
- const [maternityDiagnosis, setMaternityDiagnosis] = useState<AmrsVisitDiagnosis[]>([]);
37
- const [encounterDiagnosis, setEncounterDiagnosis] = useState<AmrsVisitDiagnosis[]>([]);
38
- const patientAmrsVisitDiagnosis = useMemo(
39
- () => [...visitDiagnosis, ...maternityDiagnosis, ...encounterDiagnosis],
40
- [visitDiagnosis, maternityDiagnosis, encounterDiagnosis],
41
- );
36
+ const [visitDiagnosis, setVisitDiagnosis] = useState<AmrsVisitDiagnosis[]>([]);
37
+ const [maternityDiagnosis, setMaternityDiagnosis] = useState<AmrsVisitDiagnosis[]>([]);
38
+ const [encounterDiagnosis, setEncounterDiagnosis] = useState<AmrsVisitDiagnosis[]>([]);
39
+ const patientAmrsVisitDiagnosis = useMemo(
40
+ () => [...visitDiagnosis, ...maternityDiagnosis, ...encounterDiagnosis],
41
+ [visitDiagnosis, maternityDiagnosis, encounterDiagnosis],
42
+ );
43
+ const [claimsVisit, setClaimsVisit] = useState<ClaimsVisit>();
42
44
 
43
45
 
44
46
  const [visitDiagnosisLoading, setVisitDiagnosisLoading] = useState<boolean>(true);
@@ -121,40 +123,40 @@ const PatientBillDetails: React.FC<patientBillDetailsProps> = ({ patientUuid, lo
121
123
  }
122
124
  }
123
125
  async function getPatientAmrsVisitDiagnosis() {
124
- setVisitDiagnosisLoading(true);
125
- const amrsVisitDiagnosisPayload = getPatientAmrsVisitDiagnosisPayload();
126
- try {
127
- const resp = await fetchPatientDiagnosis(amrsVisitDiagnosisPayload);
128
- setVisitDiagnosis(resp ?? []);
129
- } catch (error) {
130
- showSnackbar({
131
- title: 'Error fetching patient diagnosis',
132
- kind: 'error',
133
- subtitle: 'An error occurred while fetching the patient diagnosis',
134
- });
135
- } finally {
136
- setVisitDiagnosisLoading(false);
137
- }
126
+ setVisitDiagnosisLoading(true);
127
+ const amrsVisitDiagnosisPayload = getPatientAmrsVisitDiagnosisPayload();
128
+ try {
129
+ const resp = await fetchPatientDiagnosis(amrsVisitDiagnosisPayload);
130
+ setVisitDiagnosis(resp ?? []);
131
+ } catch (error) {
132
+ showSnackbar({
133
+ title: 'Error fetching patient diagnosis',
134
+ kind: 'error',
135
+ subtitle: 'An error occurred while fetching the patient diagnosis',
136
+ });
137
+ } finally {
138
+ setVisitDiagnosisLoading(false);
138
139
  }
139
- async function getPatientAmrsMaternityDiagnosis() {
140
- setMaternityDiagnosisLoading(true);
141
- const amrsMaternityDiagnosisPayload = getPatientAmrsMaternityDiagnosisPayload();
142
- try {
143
- const resp: any = await fetchMaternityDiagnosis(amrsMaternityDiagnosisPayload);
144
- const results = (resp ?? [])
145
- .filter((r) => r?.uuid != null)
146
- .map((v) => ({ ...v, practitioner_identifier_type: 'National ID' }));
147
- setMaternityDiagnosis(results);
148
- } catch (error) {
149
- showSnackbar({
150
- title: 'Error fetching patient maternity diagnosis',
151
- kind: 'error',
152
- subtitle: 'An error occurred while fetching the patient maternity diagnosis',
153
- });
154
- } finally {
155
- setMaternityDiagnosisLoading(false);
156
- }
140
+ }
141
+ async function getPatientAmrsMaternityDiagnosis() {
142
+ setMaternityDiagnosisLoading(true);
143
+ const amrsMaternityDiagnosisPayload = getPatientAmrsMaternityDiagnosisPayload();
144
+ try {
145
+ const resp: any = await fetchMaternityDiagnosis(amrsMaternityDiagnosisPayload);
146
+ const results = (resp ?? [])
147
+ .filter((r) => r?.uuid != null)
148
+ .map((v) => ({ ...v, practitioner_identifier_type: 'National ID' }));
149
+ setMaternityDiagnosis(results);
150
+ } catch (error) {
151
+ showSnackbar({
152
+ title: 'Error fetching patient maternity diagnosis',
153
+ kind: 'error',
154
+ subtitle: 'An error occurred while fetching the patient maternity diagnosis',
155
+ });
156
+ } finally {
157
+ setMaternityDiagnosisLoading(false);
157
158
  }
159
+ }
158
160
  async function getPatientAmrsEncounterDiagnosis() {
159
161
  setEncounterDiagnosisLoading(true);
160
162
  const amrsMaternityDiagnosisPayload = getPatientAmrsVisitDiagnosisPayload();
@@ -185,6 +187,11 @@ const PatientBillDetails: React.FC<patientBillDetailsProps> = ({ patientUuid, lo
185
187
  billingDate: billingDate
186
188
  };
187
189
  }
190
+ function onLoadingClaimVisit(claimVisit: ClaimsVisit) {
191
+ if (claimVisit) {
192
+ setClaimsVisit(claimVisit);
193
+ }
194
+ }
188
195
  return (
189
196
  <>
190
197
  <div className={styles.bdLayout}>
@@ -226,6 +233,7 @@ const PatientBillDetails: React.FC<patientBillDetailsProps> = ({ patientUuid, lo
226
233
  amrsVisitDiagnosis={patientAmrsVisitDiagnosis}
227
234
  locationUuid={locationUuid}
228
235
  consentToken={consentToken}
236
+ claimsVisit={claimsVisit}
229
237
  />
230
238
  )}
231
239
  </TabPanel>
@@ -237,6 +245,7 @@ const PatientBillDetails: React.FC<patientBillDetailsProps> = ({ patientUuid, lo
237
245
  patientBillDetails={patientBillDetails}
238
246
  consentToken={consentToken}
239
247
  onBillDetailsChange={getPatientBillDetails}
248
+ onLoadingClaimVisit={onLoadingClaimVisit}
240
249
  />
241
250
  </>
242
251
  ) : (
@@ -1,26 +1,28 @@
1
1
  import React, { useState } from "react";
2
2
  import styles from './visit-diagnosis-details.component.scss';
3
3
  import { type AmrsVisitDiagnosis } from "../../../../types";
4
- import { OverflowMenu, OverflowMenuItem, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@carbon/react";
4
+ import { Button, OverflowMenu, OverflowMenuItem, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tag } from "@carbon/react";
5
5
  import { formatDate, parseDate } from "@openmrs/esm-framework";
6
6
  import AddClaimDiagnosisModal from "../modals/add-claim-diagnosis/add-claim-diagnosis.modal";
7
7
  import { useInvalidateProviderClaimPreview } from "../../../../billing-claims.resource";
8
+ import { ClaimsVisit } from "../../types";
8
9
 
9
10
  interface visitDiagnosisDetailsProps {
10
- amrsVisitDiagnosis: AmrsVisitDiagnosis[];
11
- consentToken: string;
12
- interventionCode: string;
13
- locationUuid: string;
11
+ amrsVisitDiagnosis: AmrsVisitDiagnosis[];
12
+ consentToken: string;
13
+ interventionCode: string;
14
+ locationUuid: string;
15
+ claimsVisit: ClaimsVisit;
14
16
  }
15
- const VisitDiagnosisDetails: React.FC<visitDiagnosisDetailsProps> = ({amrsVisitDiagnosis,consentToken,interventionCode,locationUuid})=>{
16
- const [selectedAmrsDiagnosis,setSelectedAmrsDiagnosis] = useState<AmrsVisitDiagnosis | null>(null);
17
- const [showAddClaimDiagnosisModal,setShowAddClaimDiagnosisModal] = useState<boolean>(false);
17
+ const VisitDiagnosisDetails: React.FC<visitDiagnosisDetailsProps> = ({ amrsVisitDiagnosis, consentToken, interventionCode, locationUuid, claimsVisit }) => {
18
+ const [selectedAmrsDiagnosis, setSelectedAmrsDiagnosis] = useState<AmrsVisitDiagnosis | null>(null);
19
+ const [showAddClaimDiagnosisModal, setShowAddClaimDiagnosisModal] = useState<boolean>(false);
18
20
  const invalidateProviderClaimPreview = useInvalidateProviderClaimPreview();
19
21
 
20
- function handleCloseModal(){
21
- setShowAddClaimDiagnosisModal(false);
22
+ function handleCloseModal() {
23
+ setShowAddClaimDiagnosisModal(false);
22
24
  }
23
- function handleDiagnosisSelection(amrsVisitDiagnosis: AmrsVisitDiagnosis){
25
+ function handleDiagnosisSelection(amrsVisitDiagnosis: AmrsVisitDiagnosis) {
24
26
  setSelectedAmrsDiagnosis(amrsVisitDiagnosis);
25
27
  setShowAddClaimDiagnosisModal(true);
26
28
  }
@@ -28,53 +30,63 @@ const VisitDiagnosisDetails: React.FC<visitDiagnosisDetailsProps> = ({amrsVisitD
28
30
  handleCloseModal();
29
31
  invalidateProviderClaimPreview();
30
32
  }
33
+ const diagnosisAddedToClaim = (d: AmrsVisitDiagnosis): boolean => {
34
+ // Check if diagnosis is already added to the claim
35
+ if (!claimsVisit?.claim_diagnoses) return false;
36
+ return claimsVisit.claim_diagnoses.some(
37
+ (cd) => cd.diagnosis_code === d.icd11_code
38
+ );
39
+ };
31
40
  return <>
32
- <div>
33
- <Table aria-label="diagnoses" size="sm">
34
- <TableHead>
35
- <TableRow>
36
- <TableHeader>No</TableHeader>
37
- <TableHeader>Encounter Date</TableHeader>
38
- <TableHeader>Encounter Type</TableHeader>
39
- <TableHeader>ICD11 Diagnosis</TableHeader>
40
- <TableHeader>Actions</TableHeader>
41
- </TableRow>
42
- </TableHead>
43
- <TableBody>
44
- {amrsVisitDiagnosis &&
45
- amrsVisitDiagnosis.map((d, index) => {
46
- return (
47
- <>
48
- <TableRow key={d.encounter_id}>
49
- <TableCell>{index + 1}</TableCell>
50
- <TableCell>{formatDate(parseDate(d.encounter_datetime))}</TableCell>
51
- <TableCell>{d.encounter_type}</TableCell>
52
- <TableCell>{d.icd11_code}</TableCell>
53
- <TableCell>
54
- <OverflowMenu aria-label="overflow-menu">
55
- <OverflowMenuItem itemText="Add Claim Diagnosis" onClick={() => handleDiagnosisSelection(d)} />
56
- </OverflowMenu>
57
- </TableCell>
58
- </TableRow>
59
- </>
60
- );
61
- })}
62
- </TableBody>
63
- </Table>
41
+ <div>
42
+ <Table aria-label="diagnoses" size="sm">
43
+ <TableHead>
44
+ <TableRow>
45
+ <TableHeader>No</TableHeader>
46
+ <TableHeader>Encounter Date</TableHeader>
47
+ <TableHeader>Encounter Type</TableHeader>
48
+ <TableHeader>ICD11 Diagnosis</TableHeader>
49
+ <TableHeader>Actions</TableHeader>
50
+ </TableRow>
51
+ </TableHead>
52
+ <TableBody>
53
+ {amrsVisitDiagnosis &&
54
+ amrsVisitDiagnosis.map((d, index) => {
55
+ return (
56
+ <>
57
+ <TableRow key={d.encounter_id}>
58
+ <TableCell>{index + 1}</TableCell>
59
+ <TableCell>{formatDate(parseDate(d.encounter_datetime))}</TableCell>
60
+ <TableCell>{d.encounter_type}</TableCell>
61
+ <TableCell>{d.icd11_code}</TableCell>
62
+ <TableCell>
63
+ {claimsVisit && claimsVisit.workflow_state === 'DRAFT' && !diagnosisAddedToClaim(d) && (
64
+ <Button size="sm" kind="tertiary" onClick={() => handleDiagnosisSelection(d)}>Add Claim Diagnosis</Button>
65
+ )}
66
+ {claimsVisit && claimsVisit.workflow_state !== 'DRAFT' && (
67
+ <Tag>{claimsVisit.workflow_state}</Tag>
68
+ )}
69
+ </TableCell>
70
+ </TableRow>
71
+ </>
72
+ );
73
+ })}
74
+ </TableBody>
75
+ </Table>
64
76
 
65
- {
66
- (showAddClaimDiagnosisModal && selectedAmrsDiagnosis) &&
67
- <AddClaimDiagnosisModal
68
- consentToken={consentToken}
69
- amrsVisitDiagnosis={selectedAmrsDiagnosis}
70
- locationUuid={locationUuid}
71
- interventionCode={interventionCode}
72
- open={showAddClaimDiagnosisModal}
73
- onClose={handleCloseModal}
74
- onSuccess={onSuccess}
75
- />
76
- }
77
- </div>
77
+ {
78
+ (showAddClaimDiagnosisModal && selectedAmrsDiagnosis) &&
79
+ <AddClaimDiagnosisModal
80
+ consentToken={consentToken}
81
+ amrsVisitDiagnosis={selectedAmrsDiagnosis}
82
+ locationUuid={locationUuid}
83
+ interventionCode={interventionCode}
84
+ open={showAddClaimDiagnosisModal}
85
+ onClose={handleCloseModal}
86
+ onSuccess={onSuccess}
87
+ />
88
+ }
89
+ </div>
78
90
  </>
79
91
  }
80
92
  export default VisitDiagnosisDetails;
@@ -76,7 +76,7 @@ export enum HieIdentificationType {
76
76
  RefugeeID = 'Refugee ID',
77
77
  AlienID = 'Alien ID',
78
78
  MandateNumber = 'Mandate Number',
79
- Cr = 'id',
79
+ Cr = 'ClientRegistry ID',
80
80
  TemporaryDependantID = 'Temporary Dependant ID',
81
81
  BirthCertificate = 'Birth Certificate',
82
82
  BirthNotification = 'Birth Notification',