diff -Naur openemr.old/interface/reports/ippf_cyp_report.php openemr/interface/reports/ippf_cyp_report.php
--- openemr.old/interface/reports/ippf_cyp_report.php	2018-11-20 00:45:56.000000000 +0000
+++ openemr/interface/reports/ippf_cyp_report.php	2026-01-12 10:17:38.294333227 +0000
@@ -312,7 +312,7 @@
     "JOIN form_encounter AS fe ON " .
     "fe.pid = s.pid AND fe.encounter = s.encounter AND " .
     "fe.date >= '$from_date 00:00:00' AND fe.date <= '$to_date 23:59:59' " .
-    "WHERE s.fee != 0";
+    "WHERE s.pid > 0";
   // If a facility was specified.
   if ($form_facility) {
     $query .= " AND fe.facility_id = '$form_facility'";
diff -Naur openemr.old/interface/reports/ippf_dhis2_export.php openemr/interface/reports/ippf_dhis2_export.php
--- openemr.old/interface/reports/ippf_dhis2_export.php	2019-09-17 04:14:04.000000000 +0000
+++ openemr/interface/reports/ippf_dhis2_export.php	2026-01-12 10:14:15.553570243 +0000
@@ -128,8 +128,8 @@
     }
     // Non SRH
     else if ($svccat >= '300') {
-      if      ($age < 25) $coc = $sex == 'M' ? 'pT4Ohco8LhM' : ($sex == 'F' ? 'J1g7VOz80MM' : '');
-      else                $coc = $sex == 'M' ? 'nUgTJN2ROeH' : ($sex == 'F' ? 'xtt444RD9HI' : '');
+      if      ($age < 25) $coc = $sex == 'M' ? 'pT4Ohco8LhM' : ($sex == 'F' ? 'J1g7VOz80MM' : 'maNlQcyWH2w');
+      else                $coc = $sex == 'M' ? 'nUgTJN2ROeH' : ($sex == 'F' ? 'xtt444RD9HI' : 'f7IEihcSI07');
     }
     // Contraception, Infertility, Gynaecology, Obstetrics, Abortion, HIV, STI/RTI, Specialised, Urology, Other SRH
     else {
@@ -445,7 +445,8 @@
           if ($codetype !== 'IPPFCM') continue;
           $delt = '';
           if ('4360' == $code) $delt = 'IT101'; else // Oral contraceptives (Combined)
-          if ('4361' == $code) $delt = 'IT102'; else // Oral contraceptives (progestogen only)
+          if ('4361' == $code) $delt = 'IT102'; else // Oral contraceptives (progestogen only - 28 pill packs)
+          if ('4362' == $code) $delt = 'IT102a'; else // Oral contraceptives (progestogen only - 35 pill packs)
           if ('????' == $code) $delt = 'IT103'; else // Oral contraceptives (Unable to Categorise)
           if ('4370' == $code) $delt = 'IT151'; else // Injectables (1 month)
           if ('4380' == $code) $delt = 'IT152'; else // Injectables (2 month)
@@ -453,7 +454,7 @@
           if ('4400' == $code) $delt = 'IT201'; else // Implant (3 year)
           if ('4410' == $code) $delt = 'IT202'; else // Implant (4 year)
           if ('4420' == $code) $delt = 'IT203'; else // Implant (5 year)
-          if ('4540' == $code) $delt = 'IT251'; else // IUD (5 year)
+          if ('4540' == $code) $delt = 'IT251'; else // IUD (7 year, corrected from 5 year)
           if ('4550' == $code) $delt = 'IT255'; else // IUD (10 year)
           if ('4430' == $code) $delt = 'IT301'; else // Patch
           if ('4440' == $code) $delt = 'IT351'; else // Ring
