| [613] | 1 | PSS50 ;BIR/LDT - API FOR INFORMATION FROM FILE 50; 5 Sep 03
 | 
|---|
 | 2 |  ;;1.0;PHARMACY DATA MANAGEMENT;**85,104**;9/30/97
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | DATA(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 5 |  ;Returns Drug File (#50) Data
 | 
|---|
 | 6 |  D DATA^PSS50DAT
 | 
|---|
 | 7 |  Q
 | 
|---|
 | 8 | CMOP(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 9 |  ;Returns CMOP information from Drug File (#50)
 | 
|---|
 | 10 |  D CMOP^PSS50CMP
 | 
|---|
 | 11 |  Q
 | 
|---|
 | 12 | DRG(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 13 |  ;Returns information from Drug File (#50) used by Inpatient Meds/Unit Dose
 | 
|---|
 | 14 |  D DRG^PSS50DAT
 | 
|---|
 | 15 |  Q
 | 
|---|
 | 16 | ATC(PSSIEN,PSSFT,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 17 |  ;Returns ATC fields from the Drug File (#50)
 | 
|---|
 | 18 |  N PSSRTOI
 | 
|---|
 | 19 |  D ATC^PSS50ATC
 | 
|---|
 | 20 |  Q
 | 
|---|
 | 21 | INV(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 22 |  ;Returns inventory fields from the Drug File (#50)
 | 
|---|
 | 23 |  D INV^PSS50B
 | 
|---|
 | 24 |  Q
 | 
|---|
 | 25 | NDF(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 26 |  ;Returns NDF fields from the Drug File (#50)
 | 
|---|
 | 27 |  D NDF^PSS50B
 | 
|---|
 | 28 |  Q
 | 
|---|
 | 29 | LAB(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 30 |  ;Returns Lab information from the Drug File (#50)
 | 
|---|
 | 31 |  D LAB^PSS50LAB
 | 
|---|
 | 32 |  Q
 | 
|---|
 | 33 | CLOZ(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 34 |  ;Returns Clozapine information from the Drug File (#50)
 | 
|---|
 | 35 |  D CLOZ^PSS50B2
 | 
|---|
 | 36 |  Q
 | 
|---|
 | 37 | ARWS(PSSIEN,PSSFT,LIST) ;
 | 
|---|
 | 38 |  ;Returns fields utilized by the Automatic Replenishment/Ward Stock extract in PBM
 | 
|---|
 | 39 |  N PSSFL,PSSPK,PSSRTOI
 | 
|---|
 | 40 |  D ARWS^PSS50WS
 | 
|---|
 | 41 |  Q
 | 
|---|
 | 42 | DOSE(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 43 |  ;Returns Dosing fields from the Drug File (#50)
 | 
|---|
 | 44 |  D DOSE^PSS50B
 | 
|---|
 | 45 |  Q
 | 
|---|
 | 46 | WS(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 47 |  ;Returns Ward Stock fields from the Drug File (#50)
 | 
|---|
 | 48 |  D WS^PSS50C
 | 
|---|
 | 49 |  Q
 | 
|---|
 | 50 | MRTN(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 51 |  ;Returns Lab Test Monitor fields from the Drug File (#50)
 | 
|---|
 | 52 |  D MRTN^PSS50C
 | 
|---|
 | 53 |  Q
 | 
|---|
 | 54 | ZERO(PSSIEN,PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 55 |  ;Returns Zero node information from the Drug File (#50)
 | 
|---|
 | 56 |  D ZERO^PSS50C
 | 
|---|
 | 57 |  Q
 | 
|---|
 | 58 | NOCMOP(PSSIEN,PSSFL) ;
 | 
|---|
 | 59 |  ;Returns drugs from the Drug file (#50) with the CMOP Dispense Field set to Null or No
 | 
|---|
 | 60 |  Q $$NOCMOP^PSS50C(PSSIEN,$S($G(PSSFL)]"":PSSFL,1:""))
 | 
|---|
 | 61 |  Q
 | 
|---|
 | 62 | MSG(LIST) ;
 | 
|---|
 | 63 |  ;Returns entries and data from the Drug File (#50) with data in the Quantity Dispense Message field
 | 
|---|
 | 64 |  D MSG^PSS50C
 | 
|---|
 | 65 |  Q
 | 
|---|
 | 66 | IEN(LIST) ;
 | 
|---|
 | 67 |  ;Returns Active Outpatient Drugs with a VA Product Name entry
 | 
|---|
 | 68 |  D IEN^PSS50C
 | 
|---|
 | 69 |  Q
 | 
|---|
 | 70 | B(PSSFT,PSSFL,PSSPK,PSSRTOI,LIST) ;
 | 
|---|
 | 71 |  ;Returns Drug information based on B cross reference
 | 
|---|
 | 72 |  D B^PSS50D
 | 
|---|
 | 73 |  Q
 | 
|---|
 | 74 | VAC(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 75 |  ;Returns Generic Name based on National Drug Class
 | 
|---|
 | 76 |  N PSSRTOI
 | 
|---|
 | 77 |  D VAC^PSS50D
 | 
|---|
 | 78 |  Q
 | 
|---|
 | 79 | NDC(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 80 |  ;Returns Generic Name or IEN for drugs when passed an NDC
 | 
|---|
 | 81 |  D NDC^PSS50D
 | 
|---|
 | 82 |  Q
 | 
|---|
 | 83 | ASP(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 84 |  ;Returns drug entries when passed an Orderable Item
 | 
|---|
 | 85 |  N PSSRTOI
 | 
|---|
 | 86 |  D ASP^PSS50D
 | 
|---|
 | 87 |  Q
 | 
|---|
 | 88 | AND(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 89 |  ;Returns drug entries when passed a National Drug File entry
 | 
|---|
 | 90 |  N PSSRTOI
 | 
|---|
 | 91 |  D AND^PSS50D
 | 
|---|
 | 92 |  Q
 | 
|---|
 | 93 | AP(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 94 |  ;Returns drug entries when passed a Primary Drug entry
 | 
|---|
 | 95 |  N PSSRTOI
 | 
|---|
 | 96 |  D AP^PSS50D
 | 
|---|
 | 97 |  Q
 | 
|---|
 | 98 | DSPUNT(PSSIEN,PSSIEN2,LIST) ;
 | 
|---|
 | 99 |  ;Returns Dispense Units Per Order Unit when passed in the Drug and Synonym
 | 
|---|
 | 100 |  D DSPUNT^PSS50C1
 | 
|---|
 | 101 |  Q
 | 
|---|
 | 102 | SKB(PSSIEN,PSSFL) ;
 | 
|---|
 | 103 |  ;Sets and kills B cross reference on the Name field when the Drug is passed
 | 
|---|
 | 104 |  I +$G(PSSIEN)'>0 Q 0
 | 
|---|
 | 105 |  I $G(PSSFL)']"" Q 0
 | 
|---|
 | 106 |  I "SK"'[$G(PSSFL) Q 0
 | 
|---|
 | 107 |  Q $$SKB^PSS50E(PSSIEN,PSSFL)
 | 
|---|
 | 108 | AOC(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 109 |  ;Returns generic name or IEN for drugs when passed the VA CLASSIFICATION
 | 
|---|
 | 110 |  D AOC^PSS50E
 | 
|---|
 | 111 |  Q
 | 
|---|
 | 112 | C(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 113 |  ;Returns information from the Synonym multiple of the Drug File (#50)
 | 
|---|
 | 114 |  D C^PSS50E
 | 
|---|
 | 115 |  Q
 | 
|---|
 | 116 | AQ(PSSIEN) ;
 | 
|---|
 | 117 |  ;Checks for existence of "AQ" x-ref for PSSIEN passed
 | 
|---|
 | 118 |  I +$G(PSSIEN)'>0 Q 0
 | 
|---|
 | 119 |  Q +$G(^PSDRUG(+PSSIEN,3))
 | 
|---|
 | 120 | SKAQ(PSSIEN,PSSFL) ;
 | 
|---|
 | 121 |  ;Sets and kills "AQ" x-ref on the CMOP Dispense field for PSSIEN passed
 | 
|---|
 | 122 |  I +$G(PSSIEN)'>0 Q 0
 | 
|---|
 | 123 |  I $G(PSSFL)']"" Q 0
 | 
|---|
 | 124 |  I "SK"'[$G(PSSFL) Q 0
 | 
|---|
 | 125 |  Q $$SKAQ^PSS50E(PSSIEN,$G(PSSFL))
 | 
|---|
 | 126 | SKAQ1(PSSIEN) ;
 | 
|---|
 | 127 |  ;Sets and kills "AQ1" x-ref on the CMOP ID field for PSSIEN passed
 | 
|---|
 | 128 |  I +$G(PSSIEN)'>0 Q 0
 | 
|---|
 | 129 |  Q $$SKAQ1^PSS50E(PSSIEN)
 | 
|---|
 | 130 | AQ1(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 131 |  ;Returns a list of drugs associated with the CMOP ID passed
 | 
|---|
 | 132 |  D AQ1^PSS50B1
 | 
|---|
 | 133 |  Q
 | 
|---|
 | 134 | A526(PSSIEN,LIST) ;
 | 
|---|
 | 135 |  ;Returns a list of additives associated with the Drug passed
 | 
|---|
 | 136 |  D A526^PSS50E
 | 
|---|
 | 137 |  Q
 | 
|---|
 | 138 | A527(PSSIEN,LIST) ;
 | 
|---|
 | 139 |  ;Returns a list of solutions associated with the drug passed
 | 
|---|
 | 140 |  D A527^PSS50E
 | 
|---|
 | 141 |  Q
 | 
|---|
 | 142 | AIU(PSSFT,PSSPK,PSSFL,LIST) ;
 | 
|---|
 | 143 |  ;Returns a list of drugs based on Application Packages' Use and Inactive Date
 | 
|---|
 | 144 |  D AIU^PSS50B1
 | 
|---|
 | 145 |  Q
 | 
|---|
 | 146 | IU(PSSFL,LIST) ;
 | 
|---|
 | 147 |  ;Returns a list of drugs based on Application Packages' Use not containing "O", "U", "I", or "N"
 | 
|---|
 | 148 |  D IU^PSS50B1
 | 
|---|
 | 149 |  Q
 | 
|---|
 | 150 | SKAIU(PSSIEN,PSSFL) ;
 | 
|---|
 | 151 |  ;Sets and Kills the "AIU" x-ref on the APPLICATION PACKAGES' USE field for PSSIEN and PSSPK passed
 | 
|---|
 | 152 |  I +$G(PSSIEN)'>0 Q 0
 | 
|---|
 | 153 |  I $G(PSSFL)']"" Q 0
 | 
|---|
 | 154 |  I "SK"'[$G(PSSFL) Q 0
 | 
|---|
 | 155 |  Q $$SKAIU^PSS50E(PSSIEN,PSSFL)
 | 
|---|
 | 156 | SKIU(PSSIEN) ;
 | 
|---|
 | 157 |  ;Sets and Kills the "IU" x-ref on the APPLICATION PACKAGES' USE field for PSSIEN and PSSPK passed
 | 
|---|
 | 158 |  I +$G(PSSIEN)'>0 Q 0
 | 
|---|
 | 159 |  Q $$SKIU^PSS50E(PSSIEN)
 | 
|---|
 | 160 | AB(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 161 |  ;Returns a list of drugs associated with an IFCAP Item Number
 | 
|---|
 | 162 |  D AB^PSS50C
 | 
|---|
 | 163 |  Q
 | 
|---|
 | 164 | AVSN(PSSVAL,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 165 |  ;Returns synonym multiple for Synonym value passed
 | 
|---|
 | 166 |  D AVSN^PSS50B1
 | 
|---|
 | 167 |  Q
 | 
|---|
 | 168 | FRMALT(PSSIEN,PSSFT,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 169 |  ;Returns the Formulary Altenative for the drug value passed
 | 
|---|
 | 170 |  N PSSRTOI
 | 
|---|
 | 171 |  D FRMALT^PSS50B2
 | 
|---|
 | 172 |  Q
 | 
|---|
 | 173 | LABEL(PSSIEN,LIST) ;
 | 
|---|
 | 174 |  ;Returns Information for the scanner for the drug IEN passed
 | 
|---|
 | 175 |  D LABEL^PSS50A1
 | 
|---|
 | 176 |  Q
 | 
|---|
 | 177 | SORT(PSSIEN,LIST) ;
 | 
|---|
 | 178 |  ;Returns a list of drugs for the IEN passed
 | 
|---|
 | 179 |  D SORT^PSS50A1
 | 
|---|
 | 180 |  Q
 | 
|---|
 | 181 | OLDNM(PSSIEN,PSSFT,PSSFL,PSSPK,LIST) ;
 | 
|---|
 | 182 |  ;Returns OLD NAME multiple from the Drug File (#50)
 | 
|---|
 | 183 |  N PSSRTOI
 | 
|---|
 | 184 |  D OLDNM^PSS50F
 | 
|---|
 | 185 |  Q
 | 
|---|
 | 186 | ADDOLDNM(PSSIEN,PSSONM,PSSDT) ;
 | 
|---|
 | 187 |  ;Adds an entry to the OLD NAME Multiple of the Drug file (#50)
 | 
|---|
 | 188 |  Q $$ADDOLDNM^PSS50F($G(PSSIEN),$G(PSSONM),$G(PSSDT))
 | 
|---|
 | 189 | LIST(PSSFT,PSSFL,PSSD,PSSPK,LIST) ;
 | 
|---|
 | 190 |  ;Returns a list containing GENERIC NAME field (#.01) and PHARMCY ORDERABLE ITEM field (#2.1)
 | 
|---|
 | 191 |  N PSSRTOI
 | 
|---|
 | 192 |  D LIST^PSS50F1
 | 
|---|
 | 193 |  Q
 | 
|---|
 | 194 | EDTIFCAP(PSSIEN,PSSVAL) ;
 | 
|---|
 | 195 |  ;Adds an entry to the IFCAP ITEM NUMBER multiple of the DRUG file (#50)
 | 
|---|
 | 196 |  Q $$EDTIFCAP^PSS50F($G(PSSIEN),$G(PSSVAL))
 | 
|---|
 | 197 | LOOKUP(PSSFT,PSSFL,PSSPK,PSSRTOI,PSSIFCAP,PSSCMOP,PSSD,LIST) ;
 | 
|---|
 | 198 |  D LOOKUP^PSS50F1
 | 
|---|
 | 199 |  Q
 | 
|---|
 | 200 | CSYN(PSSIEN,PSSVAL,LIST) ;
 | 
|---|
 | 201 |  ;returns synonym information from the synonym multiple of the Drug file (#50)
 | 
|---|
 | 202 |  D CSYN^PSS50C1
 | 
|---|
 | 203 |  Q
 | 
|---|