You already have a censor variable. If CVD_OVERAL=1 then the disease was diagnosed on MIN_DIAG_DT, i.e. the participant was not censored prior to diagnosis.
If CVD_OVERAL=0 then the individual was censored, either at DEATH_DATE_DC or end-of-study (01jan2023).
If the proportional hazards procedure needs the censor variable to be 1 for censored, 0 otherwise, just subtract cvd_overal from 1.
As to time, you want the number of months from infant_dob to the minimum of three date variables: min_diag_dt, date of death, or 1/1/2023.
data want;
set censor;
censor=1-cvd_overal;
death_date=input(death_date_dc,yymmdd10.);
format death_date yymmdd10.;
time_in_months=intck('month',infant_dob,min(death_date,min_diag_dt,"01jan2023"d));
run;
The time_in_months variable is just the number of calendar-month-boundaries crossed (so a value of 1 could be just a single day, up to 31 days). That is the default behavior of the INTCK function. And of course, you should use 01jan2023 as end-of-study only if it was possible for there to be a diagnosis, or death, recorded for that date. But if you really could not get a diagnosis later than 31dec2022, I suspect you should use that date as end-of-study.