| 1 | PSUCS1 ;BIR/DJE - PBM CONTROLLED SUBSTANCE GENERATE RECORDS ;20 OCT 1999
 | 
|---|
| 2 |  ;;4.0;PHARMACY BENEFITS MANAGEMENT;;MARCH, 2005
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;DBIA(s)
 | 
|---|
| 5 |  ; Reference to file #58.81 supported by DBIA 2520
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ;3.2.5.1.  Functional Requirement 1
 | 
|---|
| 8 |  ;3.2.5.2.  Functional Requirement 2
 | 
|---|
| 9 |  ; DTTM=DATE/TIME
 | 
|---|
| 10 |  ; PSULOC=PSULOCATION
 | 
|---|
| 11 |  ; PSUTYP=DISPENSING TYPE
 | 
|---|
| 12 |  ; PSUIENDA=TRANSACTION
 | 
|---|
| 13 | INIT ;
 | 
|---|
| 14 |  S PSUCSJB=$G(PSUCSJB,"PSUCS_"_PSUJOB)
 | 
|---|
| 15 |  ;*** THE DEFAULT RECORD INDICATOR IS 'H' AND 
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 |  K ^XTMP(PSUCSJB)
 | 
|---|
| 18 |  I '$D(^XTMP(PSUCSJB)) D
 | 
|---|
| 19 |  . S X1=DT,X2=6 D C^%DTC
 | 
|---|
| 20 |  . S ^XTMP(PSUCSJB,0)=X_"^"_DT_"^ Controlled Substance Extraction"
 | 
|---|
| 21 |  S FACILITY=PSUSNDR
 | 
|---|
| 22 |  S PSUSDT=$G(PSUSDT,"")
 | 
|---|
| 23 |  S PSUEDT=$G(PSUEDT,"")
 | 
|---|
| 24 |  S PSUEDT=PSUEDT\1+.24
 | 
|---|
| 25 |  ;S PSURI="H"   DAM TEST
 | 
|---|
| 26 |  S PSUMCHK=0
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 | EN ;ENTRY POINT
 | 
|---|
| 30 |  D INIT
 | 
|---|
| 31 |  S DTTM=PSUSDT
 | 
|---|
| 32 |  F  S DTTM=$O(^PSD(58.81,"AF",DTTM)) Q:(DTTM="")!(DTTM'<PSUEDT)  D
 | 
|---|
| 33 |  .S PSULOC=""
 | 
|---|
| 34 |  .F  S PSULOC=$O(^PSD(58.81,"AF",DTTM,PSULOC)) Q:PSULOC=""  D
 | 
|---|
| 35 |  .. S PSUTYP=""
 | 
|---|
| 36 |  .. F  S PSUTYP=$O(^PSD(58.81,"AF",DTTM,PSULOC,PSUTYP)) Q:PSUTYP=""  D
 | 
|---|
| 37 |  ... ;3.2.5.3.  Functional Requirement 3
 | 
|---|
| 38 |  ... ;'2'-Dispensed from Pharmacy or '17'- Logged for Patient.
 | 
|---|
| 39 |  ... Q:(PSUTYP'=17)&(PSUTYP'=2) 
 | 
|---|
| 40 |  ... ; section 3.2.5.10.
 | 
|---|
| 41 |  ... ; Check for type 17
 | 
|---|
| 42 |  ... S PSUIENDA=""
 | 
|---|
| 43 |  ... F  S PSUIENDA=$O(^PSD(58.81,"AF",DTTM,PSULOC,PSUTYP,PSUIENDA)) Q:PSUIENDA=""  D
 | 
|---|
| 44 |  .... ; patient IEN
 | 
|---|
| 45 |  .... S PSUPIEN(73)=$$VALI^PSUTL(58.81,PSUIENDA,"73")
 | 
|---|
| 46 |  .... ;
 | 
|---|
| 47 |  .... ; Screen out test patients
 | 
|---|
| 48 |  .... Q:$$TESTPAT^PSUTL1(PSUPIEN(73))
 | 
|---|
| 49 |  .... ; Field # 58.81,3 [DATE/TIME]Field to be extracted***
 | 
|---|
| 50 |  .... S PSUDTM(3)=$$VALI^PSUTL(58.81,PSUIENDA,"3")
 | 
|---|
| 51 |  .... ;S PSURI="H" S SENDER=PSUSNDR ;DUZ    DAM TEST
 | 
|---|
| 52 |  .... I PSUTYP=2 D TYP2^PSUCS2 D:'$G(PSUQUIT) BUILDREC^PSUCS5 K PSUSSN,PSUPLC,PSUQUIT ;**9
 | 
|---|
| 53 |  .... I PSUTYP=17,PSUPIEN(73)'="" D TYP17^PSUCS3 K PSUPLC
 | 
|---|
| 54 |  .... ;     type 17s to be processed after all are gathered
 | 
|---|
| 55 |  .... ;     into ^XTMP(,"MC",LOC,PAT,DRG)
 | 
|---|
| 56 |  ....;3.2.5.5.  Functional Requirement 5
 | 
|---|
| 57 |  D EN^PSUCS17 ; process type 17s that have been gathered
 | 
|---|
| 58 |  Q
 | 
|---|