| 1 | PSSHLSCH ;BIR/RLW/MV-BUILD HL7 MESSAGE TO POPULATE ADMIN. SCHEDULE FILE ; 09/02/97 8:38 | 
|---|
| 2 | ;;1.0;PHARMACY DATA MANAGEMENT;;9/30/97 | 
|---|
| 3 | ; PSJEC=event code from HL7 table 8.4.2.1 | 
|---|
| 4 | ; PSJIEN=ien to Administration Schedule file (#51.1) | 
|---|
| 5 | ; SPDNAME=.01 field (name) of super-primary drug | 
|---|
| 6 | ; DDIEN=ien to drug file (#50) | 
|---|
| 7 | ; LIMIT=number of fields in HL7 segment being built | 
|---|
| 8 | ; | 
|---|
| 9 | EN1 ; start here for pre-install auto load | 
|---|
| 10 | Q | 
|---|
| 11 | ;We no longer send schedules to OERR | 
|---|
| 12 | N APPL,CODE,FIELD,LIMIT,MFE,PSJI,SEGMENT,SPDNAME,SYN,SYNONYM,USAGE,X | 
|---|
| 13 | S PSJEC="MAD",CODE="REP" | 
|---|
| 14 | D INIT | 
|---|
| 15 | D LOOP | 
|---|
| 16 | D SCH^PSSHLU(PSJI) | 
|---|
| 17 | K PSJEC,PSJIEN,PSJCLEAR | 
|---|
| 18 | Q | 
|---|
| 19 | ; | 
|---|
| 20 | EN2 ; start here for "manual" update | 
|---|
| 21 | Q | 
|---|
| 22 | ;We no longer send schedules to OERR | 
|---|
| 23 | K ^TMP("HLS",$J) | 
|---|
| 24 | N APPL,CODE,FIELD,PSJI,LIMIT,MFE,SEGMENT,SPDNAME,SYN,SYNONYM,USAGE,X,Y,DA,DS | 
|---|
| 25 | S CODE="UPD" | 
|---|
| 26 | D INIT | 
|---|
| 27 | S PSJIEN=0 F  S PSJIEN=$O(PSJHLDA(PSJIEN)) Q:'PSJIEN  D | 
|---|
| 28 | . S PSJEC=PSJHLDA(PSJIEN) | 
|---|
| 29 | . D MFE,CALL^PSSHLU(PSJI) | 
|---|
| 30 | K PSJEC,PSJIEN,PSJHLDA | 
|---|
| 31 | Q | 
|---|
| 32 | ; | 
|---|
| 33 | ; | 
|---|
| 34 | INIT ; initialize HL7 variables, set master file identification segment fields | 
|---|
| 35 | S PSJI=0,LIMIT=6,HLMTN="MFN" | 
|---|
| 36 | D INIT^PSSHLU X PSJCLEAR | 
|---|
| 37 | S FIELD(0)="MFI" | 
|---|
| 38 | S FIELD(1)="^^^51.1^ADMINSTRATION SCHEDULE FILE" | 
|---|
| 39 | S FIELD(3)=CODE | 
|---|
| 40 | S FIELD(6)="NE" | 
|---|
| 41 | D SEGMENT^PSSHLU(LIMIT) | 
|---|
| 42 | Q | 
|---|
| 43 | ; | 
|---|
| 44 | LOOP ; loop through SCHEDULE file | 
|---|
| 45 | S PSJIEN=0 F  S PSJIEN=$O(^PS(51.1,PSJIEN)) Q:'PSJIEN  D MFE | 
|---|
| 46 | Q | 
|---|
| 47 | ; | 
|---|
| 48 | MFE ; set master file entry segment fields | 
|---|
| 49 | S LIMIT=4 X PSJCLEAR | 
|---|
| 50 | S X=$G(^PS(51.1,PSJIEN,0)) | 
|---|
| 51 | S FIELD(0)="MFE" | 
|---|
| 52 | S FIELD(1)=PSJEC | 
|---|
| 53 | S FIELD(4)="^^^"_PSJIEN_"^"_$P(X,"^")_"~"_$P(X,"^",4)_"^99PSS" | 
|---|
| 54 | D SEGMENT^PSSHLU(LIMIT) | 
|---|
| 55 | Q | 
|---|
| 56 | ; | 
|---|