Query Issue
Date: Tue, 12 Feb 2019 17:34:46 -0500
Message-ID: <CAB6JwgiTAZvf2O33Va1j+TCL8VK4dCH-nkKUtOx7tyzdkt0=5g_at_mail.gmail.com>
Hi,
The below query returns records but no data is being inserted to table. Could you please suggest?
INSERT INTO PMP_PRESCRIPTION_TRANSACTION(
PMP_TXN_SEQ_NBR,
PRESCRIPTION_ID,
PRESCRIPTION_FILL_ID,
FACILITY_NUM,
RX_NUMBER,
FILL_NUMBER,
PARTIAL_FILL_SEQUENCE_NUMBER,
FILL_DATE,
IS_COMPOUND,
REPORTABLE_STATE_CD,
REPORTABLE_NRL_STATE_CD,
CREATED_DATE,
CREATED_BY,
LAST_UPDATED_DATE,
LAST_UPDATED_BY,
FID_VALUE,
FACILITY_DEA_NUMBER,
LEGAL_NAME,
FACILITY_ADDRESS1,
FACILITY_CITY,
FACILITY_STATE_CD,
FACILITY_ZIPCODE,
FACILITY_PHONE_NBR,
FACILITY_ID,
PAT_LAST_NAME,
PAT_FIRST_NAME,
PAT_ADDRESS_LINE1,
PAT_CITY,
PAT_STATE_CD,
PAT_ZIPCODE,
PAT_HOME_PHONE_NUM,
PAT_DATE_OF_BIRTH,
PAT_GENDER,
PAT_SPECIES_CODE,
PAT_PET_OWNER_LAST_NAME,
PAT_PET_OWNER_FIRST_NAME,
PAT_PET_OWNER_DOB,
PAT_PET_OWNER_GENDER,
PRESCRIPTION_DATE_WRITTEN,
PRESCRIBED_NUMBER_OF_REFILLS,
NDC_DISPENSED_DRUG,
DISPENSED_QUANTITY,
DAYS_SUPPLY,
PAYMENT_TYPE,
DIAGNOSIS_CODE,
PRE_NPI,
PRE_DEA_NUMBER,
PRE_STATE_LICENSE_ID,
PRE_LAST_NAME,
PRE_FIRST_NAME,
PRE_OFFICE_PHONE_NUM_1,
SENT_STATUS,
REPORTING_STATUS,
PACKAGE_UNITS,
SOURCE_CD,
NRL_SENT_STATUS,
RUN_ID_NBR,
RF_LAST_UPDATED_DATE,
FILL_STATE,
FILL_STATUS
)
SELECT PMP_TXN_SEQ_NBR.NEXTVAL,
main.*FROM (
SELECT DISTINCT
PRESCRIPTION_ID,
PRESCRIPTION_FILL_ID,
FACILITY_NUM,
RX_NUMBER,
FILL_NUMBER,
PARTIAL_FILL_SEQUENCE_NUMBER,
FILL_DATE,
IS_COMPOUND,
CASE
WHEN MAIN.IS_COMPOUND='N' AND (MAIN.PRO_SCHEDULE IN
('2','3','4','5') OR MAIN.GCN IN (SELECT NSD.CATEGORY_CODE
FROM PMP_STATE_DRUG NSD
WHERE NSD.STATE_CD = MAIN.FACILITY_STATE_CD
AND NSD.CATEGORY_TYPE = 'GCN')) THEN
FACILITY_STATE_CD
WHEN
MAIN.IS_COMPOUND='Y' AND
P_PMP_MANAGEMENT.SW_GET_PRODUCT_STATE(MAIN.PRODUCT_NUM,
MAIN.FACILITY_STATE_CD, MAIN.IS_COMPOUND, NULL, NULL,
MAIN.NDC_LOCALLY_ADDED) = 1
THEN
FACILITY_STATE_CD
END STATE_ID,
CASE WHEN MAIN.FACILITY_STATE_CD<>MAIN.PAT_STATE_CD THEN
CASE WHEN
P_PMP_MANAGEMENT.SW_GET_PRODUCT_STATE(MAIN.PRODUCT_NUM, MAIN.PAT_STATE_CD, MAIN.IS_COMPOUND, MAIN.FACILITY_ID, MAIN.FACILITY_STATE_CD, MAIN.NDC_LOCALLY_ADDED) = 2
THEN PAT_STATE_CD
END END NRL_STATE,
SYSDATE CREATED_DT,
USER CREATED_BY,
SYSDATE LAST_UPDATED_DATE,
USER LAST_UPDATED_BY,
FID_VALUE,
FACILITY_DEA_NUMBER,
LEGAL_NAME,
FACILITY_ADDRESS1,
FACILITY_CITY,
FACILITY_STATE_CD,
FACILITY_ZIPCODE,
FACILITY_PHONE_NBR,
FACILITY_ID,
PAT_LAST_NAME,
PAT_FIRST_NAME,
PAT_ADDRESS_LINE1,
PAT_CITY,
PAT_STATE_CD,
PAT_ZIPCODE,
PAT_HOME_PHONE_NUM,
PAT_DATE_OF_BIRTH,
PAT_GENDER,
PAT_SPECIES_CODE,
PAT_PET_OWNER_LAST_NAME,
PAT_PET_OWNER_FIRST_NAME,
PAT_PET_OWNER_DOB,
PAT_PET_OWNER_GENDER,
PRESCRIPTION_DATE_WRITTEN,
PRESCRIBED_NUMBER_OF_REFILLS,
NDC_DISPENSED_DRUG,
DISPENSED_QUANTITY,
DAYS_SUPPLY,
PAYMENT_TYPE,
DIAGNOSIS_CODE,
PRE_NPI,
PRE_DEA_NUMBER,
PRESCRIBE_STATE_LICENSE_ID,
PRE_LAST_NAME,
PRE_FIRST_NAME,
PRE_OFFICE_PHONE_NUM_1,
SENT_STATUS,
REPORTING_STATUS,
PACKAGE_UNITS,
'RXC' SOURCE_CD,
NRL_SENT_STATUS,
1 RUN_ID_NBR,
RF_LAST_UPDATED_DATE,
FILL_STATE,
FILL_STATUS
FROM (select
MAIN.*,
( SELECT PRODUCT_SCHEDULE
FROM (SELECT NVL( --Priority 1,2,3
(SELECT DEA FROM (SELECT DEA FROM
PRODUCT_DEA_OVERRIDE
WHERE
PRODUCT_NUM = MAIN.PRODUCT_NUM
AND ((TYPE IN (1, 2) AND STATE_CODE =
MAIN.FACILITY_STATE_CD) OR (TYPE = 3))
AND SYSDATE BETWEEN
RXC_START_DATE AND
RXC_END_DATE
ORDER BY TYPE) WHERE ROWNUM=1),
-- Priority 4 For PRODUCT
(SELECT PRD.PRODUCT_SCHEDULE
FROM PRODUCT PRD
WHERE PRD.PRODUCT_NUM =
MAIN.PRODUCT_NUM)
) PRODUCT_SCHEDULE
FROM DUAL))PRO_SCHEDULE,
( SELECT DX.GCN
FROM DRUG_XREF DX, PRODUCT P
WHERE DX.DRUG_NUM = P.DRUG_NUM
AND P.PRODUCT_NUM = MAIN.PRODUCT_NUM
AND ROWNUM<=1 )GCN
from(SELECT /*+PARALLEL(NFT 16)FULL(NFT)LEADING(NFT)USE_NL(RX
PA)USE_NL(RX DA)USE_NL(RX DR) USE_NL(RF F) USE_NL(RF P)*/
RF.PRESCRIPTION_ID,
RF.PRESCRIPTION_FILL_ID,
RF.FILL_NUMBER,
F.FACILITY_NUM,
(SELECT FID.VALUE
FROM FACILITY_ID FID
WHERE FID.FACILITY_NUM = F.FACILITY_NUM
AND FID.TYPE = 'F08') FID_VALUE,
F.LEGAL_NAME LEGAL_NAME,
(SELECT ADS.ADDRESS1
FROM ADDRESS ADS, ADDRESS_LINK ADL
WHERE ADL.ADDRESS_NUM = ADS.ADDRESS_NUM
AND ADL.OWNER_TYPE_CODE = 'C'
AND ADL.OWNER = F.FACILITY_NUM
AND ADL.USAGE = 8
AND ROWNUM < 2) FACILITY_ADDRESS1,
(SELECT ZIP.CITY
FROM ADDRESS ADS, ADDRESS_LINK ADL, ZIPCODE ZIP
WHERE ADL.ADDRESS_NUM = ADS.ADDRESS_NUM
AND ADL.OWNER_TYPE_CODE = 'C'
AND ADS.CSZ_NUM = ZIP.CSZ_NUM
AND ADL.OWNER = F.FACILITY_NUM
AND ADL.USAGE = 8
AND ROWNUM < 2) FACILITY_CITY,
(SELECT ZIP.STATE_CODE
FROM ADDRESS ADS, ADDRESS_LINK ADL, ZIPCODE ZIP
WHERE ADL.ADDRESS_NUM = ADS.ADDRESS_NUM
AND ADL.OWNER_TYPE_CODE = 'C'
AND ADS.CSZ_NUM = ZIP.CSZ_NUM
AND ADL.OWNER = F.FACILITY_NUM
AND ADL.USAGE = 8
AND ROWNUM < 2) FACILITY_STATE_CD,
(SELECT ZIP.ZIPCODE
FROM ADDRESS ADS, ADDRESS_LINK ADL, ZIPCODE ZIP
WHERE ADL.ADDRESS_NUM = ADS.ADDRESS_NUM
AND ADL.OWNER_TYPE_CODE = 'C'
AND ADS.CSZ_NUM = ZIP.CSZ_NUM
AND ADL.OWNER = F.FACILITY_NUM
AND ADL.USAGE = 8
AND ROWNUM < 2) FACILITY_ZIPCODE,
(SELECT PH.AREA_CODE || PH.PHONE_NUMBER
FROM PHONE PH, PHONE_LINK PL
WHERE PH.PHONE_NUM = PL.PHONE_NUM
AND PL.OWNER = F.FACILITY_NUM
AND PL.USAGE = 1
AND PL.PHONE_USAGE = 128
AND PL.OWNER_TYPE_CODE = 'C'
AND ROWNUM < 2) FACILITY_PHONE_NBR,
F.FACILITY_ID,
F.DEA_NUMBER FACILITY_DEA_NUMBER,
P.LAST_NAME PAT_LAST_NAME,
P.FIRST_NAME PAT_FIRST_NAME,
PA.ADDRESS_LINE1 PAT_ADDRESS_LINE1,
PA.CITY PAT_CITY,
PA.STATE PAT_STATE_CD,
PA.ZIPCODE PAT_ZIPCODE,
--PA.HOME_PHONE_NUM PAT_HOME_PHONE_NUM,
Decode(p.preferred_contact,2,p.office_phone_num,3, p.mobile_num,1,pa.home_phone_num) PAT_HOME_PHONE_NUM,
P.DATE_OF_BIRTH PAT_DATE_OF_BIRTH,
P.GENDER PAT_GENDER,
P.SPECIES_CODE PAT_SPECIES_CODE,
P.PET_OWNER_LAST_NAME PAT_PET_OWNER_LAST_NAME,
P.PET_OWNER_FIRST_NAME PAT_PET_OWNER_FIRST_NAME,
P.PET_OWNER_DOB PAT_PET_OWNER_DOB,
P.PET_OWNER_GENDER PAT_PET_OWNER_GENDER,
RF.RX_NUMBER,
RX.PRESCRIPTION_DATE_WRITTEN,
RX.PRESCRIBED_NUMBER_OF_REFILLS,
RF.FILL_DATE,
RX.IS_COMPOUND,
RF.NDC_DISPENSED_DRUG,
RF.DISPENSED_QUANTITY,
RF.DAYS_SUPPLY,
DECODE(RF.NDC_LOCALLY_ADDED,
'Y',
(SELECT LP.PACKAGE_UNIT
FROM RXP_LOCAL_PRODUCT LP
WHERE LP.PRESCRIPTION_FILL_ID =
RF.PRESCRIPTION_FILL_ID
AND LP.IS_DELETE = 'N'),
'N',
(SELECT DX.PACKAGE_UNITS FROM PRODUCT P,DRUG_XREF DX
WHERE P.PRODUCT_NUM=RF.PRODUCT_NUM AND
P.DRUG_NUM=DX.DRUG_NUM))PACKAGE_UNITS,
RF.PARTIAL_FILL_SEQUENCE_NUMBER,
RF.PAYMENT_TYPE,
RF.PRODUCT_NUM,
NVL((SELECT SAV.DIAGNOSIS_CODE FROM
SRD_ATTRIBUTE_VALUE SAV WHERE
SAV.PRESCRIPTION_FILL_ID=RF.PRESCRIPTION_FILL_ID and rownum<2),RX.DIAGNOSIS_CODE)DIAGNOSIS_CODE,
DR.NPI PRE_NPI,
DA.DEA_NUMBER PRE_DEA_NUMBER,
DA.PRESCRIBER_STATE_LICENSE_ID
PRESCRIBE_STATE_LICENSE_ID,
DR.LAST_NAME PRE_LAST_NAME,
DR.FIRST_NAME PRE_FIRST_NAME,
DA.OFFICE_PHONE_NUM_1 PRE_OFFICE_PHONE_NUM_1,
'N' SENT_STATUS,
'N' NRL_SENT_STATUS,
SYSDATE AUDIT_INS_DATE,
SYSDATE AUDIT_UPDATE_DATE,
'00' REPORTING_STATUS,
RF.LAST_UPDATED_DATE,
USER CREATED_BY,
USER UPDATED_BY,
RF.DRUG_SCHEDULE,
RF.NDC_LOCALLY_ADDED,
NFT.RF_LAST_UPDATED_DATE RF_LAST_UPDATED_DATE,
NFT.FILL_STATE,
NFT.FILL_STATUS
FROM RXP_PRESCRIPTION_FILL RF,
FACILITY F,
RXP_PRESCRIPTION RX,
RXP_PATIENT P,
RXP_PATIENT_ADDRESS PA,
RXP_PRESCRIBER DR,
RXP_PRESCRIBER_ADDRESS DA,
PMP_FINAL_TRANSACTION NFT
WHERE
RF.PRESCRIPTION_FILL_ID=NFT.PRESCRIPTION_FILL_ID
AND (NFT.STATUS ='X' or
nft.PRESCRIPTION_FILL_ID=707891875533)
- AND ((RF.fill_status = 7 AND RF.FILL_STATE!=3) or
- (RF.fill_status = 9 and RF.POS_STATUS IS NOT NULL)) and
--RF.rx_number is not null and RF.IS_DIRTY='N'
AND NFT.CREATED_DATE >= '17JAN2019' AND NFT.CREATED_DATE
<o_date('18jan2019') - (13 / 24)
AND RF.LAST_UPDATED_DATE < SYSDATE
AND RF.FACILITY_ID = F.FACILITY_ID
AND RF.PRESCRIPTION_ID = RX.PRESCRIPTION_ID
AND RF.PATIENT_ID = P.PATIENT_ID
AND RX.PATIENT_ADDRESS_ID = PA.PATIENT_ADDRESS_ID
AND RX.PRESCRIBER_ID = DR.PRESCRIBER_ID
AND RX.PRESCRIBER_ADDRESS_ID = DA.PRESCRIBER_ADDRESS_ID
) MAIN
WHERE
EXISTS (SELECT 1 FROM pmp_state nS WHERE
(NS.STATE_CODE=MAIN.FACILITY_STATE_CD OR NS.STATE_CODE=MAIN.PAT_STATE_CD )
AND MAIN.RF_LAST_UPDATED_DATE>=NS.REC_IDEN_DT))main
- where
/* NOT EXISTS
(SELECT 1 FROM PMP_PRESCRIPTION_TRANSACTION NPT WHERE
NPT.PRESCRIPTION_FILL_ID = MAIN.PRESCRIPTION_FILL_ID)
AND*/ --(
--
P_PMP_MANAGEMENT.SW_GET_PRODUCT_STATE(MAIN.PRODUCT_NUM, MAIN.FACILITY_STATE_CD, MAIN.IS_COMPOUND, NULL, NULL, MAIN.NDC_LOCALLY_ADDED) = 1 --OR CASE WHEN MAIN.FACILITY_STATE_CD<>MAIN.PAT_STATE_CD THEN P_PMP_MANAGEMENT.SW_GET_PRODUCT_STATE(MAIN.PRODUCT_NUM, MAIN.PAT_STATE_CD, MAIN.IS_COMPOUND, MAIN.FACILITY_ID, MAIN.FACILITY_STATE_CD, MAIN.NDC_LOCALLY_ADDED)END = 2)
)MAIN
- WHERE MAIN.STATE_ID IN (SELECT NS.STATE_CODE FROM pmp_state ns) OR MAIN.NRL_STATE IN (SELECT NS.STATE_CODE FROM pmp_state ns)
WHERE EXISTS (SELECT 1 FROM pmp_state nS WHERE (NS.STATE_CODE=MAIN.STATE_ID OR NS.STATE_CODE=MAIN.NRL_STATE ) AND MAIN.RF_LAST_UPDATED_DATE>=NS.REC_IDEN_DT) AND( STATE_ID IS NOT NULL OR NRL_STATE IS NOT NULL) If we replace MAIN.GCN with the below segment, the its working.
OR (SELECT DX.GCN FROM DRUG_XREF DX, PRODUCT P WHERE DX.DRUG_NUM = P.DRUG_NUM AND P.PRODUCT_NUM = MAIN.PRODUCT_NUM AND ROWNUM<=1 )
working
CASE
WHEN MAIN.IS_COMPOUND='N' AND (MAIN.PRO_SCHEDULE IN
('2','3','4','5') OR (SELECT DX.GCN
FROM DRUG_XREF DX, PRODUCT P
WHERE DX.DRUG_NUM = P.DRUG_NUM
AND P.PRODUCT_NUM = MAIN.PRODUCT_NUM
AND ROWNUM<=1 ) in (SELECT NSD.CATEGORY_CODE
FROM PMP_STATE_DRUG NSD
WHERE NSD.STATE_CD = MAIN.FACILITY_STATE_CD
--and nsd.CATEGORY_CODE=main.gcn
AND NSD.CATEGORY_TYPE = 'GCN'))
Not working
WHEN MAIN.IS_COMPOUND='N' AND (MAIN.PRO_SCHEDULE IN ('2','3','4','5') OR MAIN.GCN IN (SELECT NSD.CATEGORY_CODE
FROM PMP_STATE_DRUG NSD
WHERE NSD.STATE_CD = MAIN.FACILITY_STATE_CD
AND NSD.CATEGORY_TYPE = 'GCN')) THEN
Thanks,
pv
-- http://www.freelists.org/webpage/oracle-lReceived on Tue Feb 12 2019 - 23:34:46 CET
