diff --git a/src/app/patient-dashboard/hiv/hiv-summary/hiv-summary-latest.component.html b/src/app/patient-dashboard/hiv/hiv-summary/hiv-summary-latest.component.html
index 213903d83..9bb83dba8 100644
--- a/src/app/patient-dashboard/hiv/hiv-summary/hiv-summary-latest.component.html
+++ b/src/app/patient-dashboard/hiv/hiv-summary/hiv-summary-latest.component.html
@@ -278,11 +278,41 @@
Current weight (kg):
{{ hivSummary?.weight !== null ? hivSummary?.weight : 'NONE' }}
-
- Last PCR status: {{ lastPCRStatus }}
+
+ PCR 1
+ Age PCR Done: {{ pcrSnapShop?.hiv_dna_pcr_1_at }}M
+ PCR Results: {{ pcrSnapShop?.hiv_dna_pcr_1 }}
+
+ Date Done: {{ hivSummary?.hiv_dna_pcr_1_date | date: 'dd-MM-yyyy' }}
+
-
- Last PCR Date: {{ lastPCRDate | date: 'dd-MM-yyyy' }}
+
+ PCR 2
+ Age PCR Done: {{ pcrSnapShop?.hiv_dna_pcr_2_at }}M
+ PCR Results: {{ pcrSnapShop?.hiv_dna_pcr_2 }}
+
+ Date Done: {{ hivSummary?.hiv_dna_pcr_2_date | date: 'dd-MM-yyyy' }}
+
+
+
+ PCR 3
+ Age PCR Done: {{ pcrSnapShop?.hiv_dna_pcr_3_at }}M
+ PCR Results: {{ pcrSnapShop?.hiv_dna_pcr_3 }}
+
+ Date Done: {{ hivSummary?.hiv_dna_pcr_3_date | date: 'dd-MM-yyyy' }}
+
Current ART Prophylaxis: {{ hivSummary?.cur_arv_meds }}
diff --git a/src/app/patient-dashboard/hiv/hiv-summary/hiv-summary-latest.component.ts b/src/app/patient-dashboard/hiv/hiv-summary/hiv-summary-latest.component.ts
index 0c1b3edbf..5f717a050 100644
--- a/src/app/patient-dashboard/hiv/hiv-summary/hiv-summary-latest.component.ts
+++ b/src/app/patient-dashboard/hiv/hiv-summary/hiv-summary-latest.component.ts
@@ -58,6 +58,14 @@ export class HivSummaryLatestComponent implements OnInit, OnDestroy {
public infantFeedingMethod: string;
public heiOutCome: string;
public pcpProphylaxis: string;
+ public pcrSnapShop = {
+ hiv_dna_pcr_1: null,
+ hiv_dna_pcr_1_at: null,
+ hiv_dna_pcr_2: null,
+ hiv_dna_pcr_2_at: null,
+ hiv_dna_pcr_3: null,
+ hiv_dna_pcr_3_at: null
+ };
constructor(
private hivSummaryService: HivSummaryService,
@@ -243,6 +251,7 @@ export class HivSummaryLatestComponent implements OnInit, OnDestroy {
this.infantFeedingMethod = this.getInfantFeedingMethod();
this.heiOutCome = this.getHEIOutcome();
this.pcpProphylaxis = this.getPCPprophylaxis();
+ this.getHEIPCRSnapshot();
}
}
this.getPatientEligibility(this.hivSummary);
@@ -469,4 +478,50 @@ export class HivSummaryLatestComponent implements OnInit, OnDestroy {
}
return 'NONE';
}
+
+ private pcr_status_helper(pcr_status: number): string {
+ if (pcr_status === 664) {
+ return 'NEGATIVE';
+ } else if (pcr_status === 703) {
+ return 'POSITIVE';
+ } else if (pcr_status === 1118) {
+ return 'NOT DONE';
+ } else if (pcr_status === 1138) {
+ return 'INDETERMINATE';
+ } else if (pcr_status === 1304) {
+ return 'POOR SAMPLE QUALITY';
+ } else {
+ return 'NONE';
+ }
+ }
+
+ private calculate_age_by_pcr_date(pcr_date: string): number {
+ const age = Moment(pcr_date).diff(
+ Moment(this.hivSummary.birth_date),
+ 'months'
+ );
+ return age;
+ }
+
+ public getHEIPCRSnapshot(): void {
+ this.pcrSnapShop.hiv_dna_pcr_1 = this.pcr_status_helper(
+ this.hivSummary.hiv_dna_pcr_1
+ );
+ this.pcrSnapShop.hiv_dna_pcr_2 = this.pcr_status_helper(
+ this.hivSummary.hiv_dna_pcr_2
+ );
+ this.pcrSnapShop.hiv_dna_pcr_3 = this.pcr_status_helper(
+ this.hivSummary.hiv_dna_pcr_3
+ );
+
+ this.pcrSnapShop.hiv_dna_pcr_1_at = this.calculate_age_by_pcr_date(
+ this.hivSummary.hiv_dna_pcr_1_date
+ );
+ this.pcrSnapShop.hiv_dna_pcr_2_at = this.calculate_age_by_pcr_date(
+ this.hivSummary.hiv_dna_pcr_2_date
+ );
+ this.pcrSnapShop.hiv_dna_pcr_3_at = this.calculate_age_by_pcr_date(
+ this.hivSummary.hiv_dna_pcr_3_date
+ );
+ }
}