[613] | 1 | PSSP110 ; Post init routine for patch PSS*1*110 03/30/2006 4:57P
|
---|
| 2 | ;;1.0;PHARMACY DATA MANAGEMENT;**110**;9/30/97
|
---|
| 3 | Q
|
---|
| 4 | EN ; Entry point
|
---|
| 5 | ; Convert the NAME field in files #51 & 51.1 to all CAPS
|
---|
| 6 | ;
|
---|
| 7 | N DD,D0,DA,DIE,DR,PSSI,PSSJ,PSSCNT,PSSTXT,PSSLN,PSSAST
|
---|
| 8 | N XMDUZ,XMSUB,XMTEXT,XMY,DIFROM,PSSFLG
|
---|
| 9 | I $G(U)="" S U="^"
|
---|
| 10 | S XMDUZ="PSS*1*110 Post Init",XMY(DUZ)=""
|
---|
| 11 | ;
|
---|
| 12 | ; File 51 (Medication Instruction)
|
---|
| 13 | S DIE="^PS(51,"
|
---|
| 14 | D CON
|
---|
| 15 | S XMSUB="File #51 modified records"
|
---|
| 16 | D MSG1
|
---|
| 17 | ;
|
---|
| 18 | ; File 51.1 (Administration Schedule)
|
---|
| 19 | S DIE="^PS(51.1,"
|
---|
| 20 | D CON
|
---|
| 21 | S XMSUB="File #51.1 modified records"
|
---|
| 22 | D MSG1
|
---|
| 23 | ;
|
---|
| 24 | ; File 51.2 (Medication Routes)
|
---|
| 25 | ;S XMSUB="File #51.2 'to be' modified records"
|
---|
| 26 | ;D COM
|
---|
| 27 | G ENQ
|
---|
| 28 | ;
|
---|
| 29 | CON ; Convert ONLY lowercase alphabet to uppercase. All other characters
|
---|
| 30 | ; in the NAME field are left alone.
|
---|
| 31 | S PSSI="",PSSCNT=0,PSSLN=2,PSSFLG=""
|
---|
| 32 | F S PSSI=$O(@(DIE_"""B"""_",PSSI)")) Q:PSSI="" D
|
---|
| 33 | . I PSSI'?.E1L.E Q ; No lowercase in the NAME, no need to convert
|
---|
| 34 | . S PSSJ=$$UP^XLFSTR(PSSI),PSSAST="*"
|
---|
| 35 | . I '$O(@(DIE_"""B"""_",PSSJ,0)")) D
|
---|
| 36 | . . S DA=$O(@(DIE_"""B"""_",PSSI,0)")),DR=".01///"_PSSJ
|
---|
| 37 | . . D ^DIE
|
---|
| 38 | . . S PSSAST=""
|
---|
| 39 | . E S PSSFLG=1
|
---|
| 40 | . S PSSCNT=PSSCNT+1
|
---|
| 41 | . S PSSLN=PSSLN+1,PSSTXT(PSSLN)=PSSAST_PSSI
|
---|
| 42 | Q
|
---|
| 43 | COM ; Compile a list of all medication routes that do NOT
|
---|
| 44 | ; have an abbreviation and send it to DUZ.
|
---|
| 45 | S PSSI="",PSSCNT=0,PSSLN=2
|
---|
| 46 | F S PSSI=$O(^PS(51.2,PSSI)) Q:PSSI']"" D
|
---|
| 47 | . I '$D(^PS(51.2,PSSI,0)) Q
|
---|
| 48 | . S PSSJ=$G(^PS(51.2,PSSI,0))
|
---|
| 49 | . I $P(PSSJ,U,3)']"" D
|
---|
| 50 | . . S PSSCNT=PSSCNT+1,PSSLN=PSSLN+1
|
---|
| 51 | . . S PSSTXT(PSSLN)=$P(PSSJ,U,1)
|
---|
| 52 | I PSSCNT<1 D Q
|
---|
| 53 | . S PSSTXT(1)="All medication routes have abbreviations!"
|
---|
| 54 | . D SEND
|
---|
| 55 | S PSSTXT(1)="The following medication route/s does/do not"
|
---|
| 56 | S PSSTXT(2)="have a corresponding abbreviation:"
|
---|
| 57 | D SEND
|
---|
| 58 | Q
|
---|
| 59 | MSG1 ; Send message to user DUZ for files 51 & 51.1
|
---|
| 60 | I PSSCNT<1 D Q
|
---|
| 61 | . S PSSTXT(1)="No NAME conversion was neccessary!"
|
---|
| 62 | . D SEND
|
---|
| 63 | S PSSTXT(1)="The following NAME/s was/were converted"
|
---|
| 64 | S PSSTXT(2)="from lowercase to uppercase:"
|
---|
| 65 | I PSSFLG=1 D
|
---|
| 66 | . S PSSLN=PSSLN+1
|
---|
| 67 | . S PSSTXT(PSSLN)="Record/s marked with an '*' was/were skipped."
|
---|
| 68 | . S PSSLN=PSSLN+1
|
---|
| 69 | . S PSSTXT(PSSLN)="Conversion to uppercase would have created a"
|
---|
| 70 | . S PSSLN=PSSLN+1
|
---|
| 71 | . S PSSTXT(PSSLN)="duplicate NAME. Please check!!"
|
---|
| 72 | D SEND
|
---|
| 73 | Q
|
---|
| 74 | SEND ;
|
---|
| 75 | S XMTEXT="PSSTXT(",XMDUZ="PSS*1*110 Post Init",XMY(DUZ)=""
|
---|
| 76 | D ^XMD
|
---|
| 77 | K PSSTXT
|
---|
| 78 | ENQ Q
|
---|