- PSOSPML3 ;BIRM/MFR - ASAP Definitions Listman Driver ;09/01/12
- ;;7.0;OUTPATIENT PHARMACY;**408,451,625**;DEC 1997;Build 42
- ;
- N ASAPVER,VERLST,DIR,DIRUT,DTOUT,X,Y,DIC,VALM,VALMBG,VALMCNT,VALMHDR,VALMBCK,VALMSG,PSOLSTLN
- ;
- VER ; ASAP Version Prompt
- W ! S ASAPVER=$$ASAPVER^PSOSPMU2("A","B",1) I ASAPVER["^"!(ASAPVER="") G EXIT ;adding "B" for Zero Report
- ;
- D EN(ASAPVER,0)
- ;
- G VER
- ;
- EN(PSOASVER,PSOSHOW) ; Entry point
- ;Input: (r) PSOASVER - ASAP Version ("3.0", "4.0", etc.)
- ; (o) PSOSHOW - 0: Segments Only
- ; 1: Segments & Data Elements (ID and Name Only)
- ; 2: Segments & Data Elements (All Details)
- N ASAP
- S PSOSHOW=+$G(PSOSHOW)
- D EN^VALM("PSO SPMP VIEW ASAP DEFINITION")
- D FULL^VALM1
- Q
- ;
- HDR ; - Builds the Header section
- N STDIEN,VERIEN,HDR,ELMDELIM,SEGTERM,EOSCHR,STDVDLMS,ALLVDLMS
- S STDVDLMS=$$VERDATA^PSOSPMU0(PSOASVER,"S")
- S ALLVDLMS=$$VERDATA^PSOSPMU0(PSOASVER,"B")
- S STDIEN=$O(^PS(58.4,"B","STANDARD ASAP DEFINITION",0))
- S VERIEN=$O(^PS(58.4,STDIEN,"VER","B",PSOASVER,0))
- S VALM("TITLE")=" ASAP "_$S('VERIEN:"Custom",1:"Standard")_" Version "_PSOASVER_$S('VERIEN:"*",1:"")
- S ELMDELIM=$S(PSOASVER="1995":"N/A",1:$P(ALLVDLMS,"^",2))
- S HDR="Element Delimiter"_$S(($P(STDVDLMS,"^",2)'=""&($P(STDVDLMS,"^",2)'=$P(ALLVDLMS,"^",2))):"*",1:"")_":"_IOINHI_$S(ELMDELIM="":"<NULL>",1:" "_ELMDELIM)_IOINORM
- S SEGTERM=$S(PSOASVER="1995":"N/A",1:$P(ALLVDLMS,"^",3))
- S HDR=HDR_" Segment Terminator"_$S(($P(STDVDLMS,"^",3)'=""&($P(STDVDLMS,"^",3)'=$P(ALLVDLMS,"^",3))):"*",1:"")_":"_IOINHI_$S(SEGTERM="":"<NULL>",1:" "_SEGTERM)_IOINORM
- S EOSCHR=$S(PSOASVER="1995":"$C(10,13)",1:$P(ALLVDLMS,"^",4))
- S HDR=HDR_" End Of Line ESC"_$S(($P(STDVDLMS,"^",4)'=""&($P(STDVDLMS,"^",4)'=$P(ALLVDLMS,"^",4))):"*",1:"")_":"_IOINHI_$S(EOSCHR="":"<NULL>",1:" "_EOSCHR)_IOINORM
- D INSTR^VALM1(HDR,1,2)
- Q
- ;
- INIT ; Builds the Body section
- N ASAP,LINE,I
- ;
- K ^TMP("PSOSPML3",$J) S VALMCNT=0,LINE=0
- F I=1:1:1000 D RESTORE^VALM10(I)
- I PSOASVER="1995" D
- . D SETSEG95^PSOSPML4("PSOSPML3","") S VALMCNT=LINE
- I PSOASVER'="1995" D
- . D LOADASAP^PSOSPMU0(PSOASVER,"B",.ASAP)
- . D SETSEG("ASAP",0) S VALMCNT=LINE
- . S VALMSG="Enter ?? for more actions|* Custom Segment/Element"
- Q
- ;
- ; Note: Recursivity used because of the 'Tree' nature of the ASAP definition
- SETSEG(ARRNAM,LEVEL) ; Set list content with the Segment info
- ;Input: ARRNAM - Name of the Array containing the ASAP definition
- ; LEVEL - Level of the Segment
- N ARRAY,COLUMN,TYPE,DETLN,SEGID,JUST,I,J,ELMCNT,LSTELM,ELMNAM,MVALUE,SEGLN,LEVNAM,DESCNT,VALIDX
- ;
- S PSOSHOW=+$G(PSOSHOW)
- S ARRAY=$Q(@ARRNAM) I '+$P(ARRAY,"(",2) Q
- S SEGID=$P(@ARRAY,"^"),COLUMN=(($L(ARRAY,",")-1)*4)
- S JUST="" S:PSOSHOW'=2 JUST=$J("",COLUMN)
- I LEVEL'=$P(ASAP(SEGID),"^",6) D
- . S LEVEL=$P(ASAP(SEGID),"^",6)
- . S LEVNAM=$P("MAIN HEADER^PHARMACY HEADER^PATIENT DETAIL^PRESCRIPTION DETAIL^PHARMACY TRAILER^MAIN TRAILER","^",LEVEL)
- . D SETLN^PSOSPMU1("PSOSPML3",JUST_LEVNAM,0,0,0)
- . D CNTRL^VALM10(LINE,$L(JUST)+1,$L(LEVNAM),IORVON,IORVOFF_IOINORM)
- S SEGLN=JUST_$P(ASAP(SEGID),"^")_$S($$CUSSEG^PSOSPMU3(PSOASVER,SEGID):"*",1:"")_" - "_$P(ASAP(SEGID),"^",2)_$S($P(ASAP(SEGID),"^",4)="N":" (Not Used)",1:"")
- D SETLN^PSOSPMU1("PSOSPML3",SEGLN,0,$S(PSOSHOW'=0:1,1:0),$S($P(ASAP(SEGID),"^",4)="N":0,1:1))
- S LSTELM=+$O(ASAP(SEGID,""),-1)
- I PSOSHOW'=0 D
- . F ELMCNT=1:1:LSTELM D
- . . S:PSOSHOW=1 JUST=$J("",COLUMN+$L(SEGID)+1)
- . . S ELMNAM=JUST_$P(ASAP(SEGID,ELMCNT),"^")_$S($G(ASAP(SEGID,ELMCNT,"CUS")):"*",1:"")_" - "_$P(ASAP(SEGID,ELMCNT),"^",2)
- . . S ELMNAM=ELMNAM_$S((PSOSHOW=1)&($P(ASAP(SEGID,ELMCNT),"^",6)="N"):" (Not Used)",1:"")
- . . D SETLN^PSOSPMU1("PSOSPML3",ELMNAM,0,0,$S((PSOSHOW=1)&($P(ASAP(SEGID,ELMCNT),"^",6)="N"):0,1:1))
- . . I PSOSHOW=1 Q
- . . S DETLN=JUST_"Requirement: "_$S($P(ASAP(SEGID,ELMCNT),"^",6)="R":"Required",$P(ASAP(SEGID,ELMCNT),"^",6)="O":"Optional",$P(ASAP(SEGID,ELMCNT),"^",6)="N":"Not Used",1:"")
- . . S TYPE=$P(ASAP(SEGID,ELMCNT),"^",3)
- . . S $E(DETLN,33)="Format: "_$S(TYPE="AN":"Alphanumeric",TYPE="N":"Numeric",TYPE="D":"Decimal",TYPE="DT":"Date (YYYYMMDD)",TYPE="TM":"Time (HHMMSS or HHMM)",1:"")
- . . S $E(DETLN,62)="Maximum Length: "_$P(ASAP(SEGID,ELMCNT),"^",4)
- . . D SETLN^PSOSPMU1("PSOSPML3",DETLN)
- . . ; Highlighting fields Requirement, Format and Length
- . . D CNTRL^VALM10(LINE,13,10,IOINHI,IOINORM)
- . . D CNTRL^VALM10(LINE,41,20,IOINHI,IOINORM)
- . . D CNTRL^VALM10(LINE,77,5,IOINHI,IOINORM)
- . . F DESCNT=1:1 Q:'$D(ASAP(SEGID,ELMCNT,"DES",DESCNT)) D
- . . . D SETLN^PSOSPMU1("PSOSPML3",JUST_ASAP(SEGID,ELMCNT,"DES",DESCNT))
- . . ; Field M Expression Value
- . . S DETLN="Value: ",MVALUE=""
- . . F VALIDX=1:1 Q:'$D(ASAP(SEGID,ELMCNT,"VAL",VALIDX)) D
- . . . S MVALUE=MVALUE_ASAP(SEGID,ELMCNT,"VAL",VALIDX)
- . . F Q:MVALUE="" D
- . . . S $E(DETLN,8)=$E(MVALUE,1,72)
- . . . D SETLN^PSOSPMU1("PSOSPML3",DETLN)
- . . . D CNTRL^VALM10(LINE,8,72,IOINHI,IOINORM)
- . . . S DETLN="",MVALUE=$E(MVALUE,73,999)
- . . D SETLN^PSOSPMU1("PSOSPML3"," ")
- D SETSEG(ARRAY,LEVEL)
- Q
- ;
- HELP ; Listman Help
- Q
- ;
- EXIT ;
- K ^TMP("PSOSPML3",$J)
- Q
- ;
- MEXPRHLP(LEVEL,ELMID) ;MUMPS Expression Help Text
- ;Input: (r) LEVEL - Level of the Segment where the Data Element is located
- ; (r) ELMID - Data Element ID ("PHA01", "DSP02", etc.)
- N LEVNAM,DIR,X,Y,DIRUT,DTOUT
- W !,"This is the argument of a MUMPS SET command that will be used to retrieve the"
- W !,"value for the Data Element '",ELMID,"'."
- W !,""
- W !,"Below are some examples of valid values for this field:"
- W !,""
- W !,"Null/Blank : Use """" (two quotes) to force a blank value. Another option to"
- W !,"----------- force a blank value is to set the Data Element REQUIREMENT field"
- W !," to 'N' (NOT USED)."
- W !,""
- W !,"Fixed Value: Use quotes to force a fixed value for this Data Element."
- W !,"----------- Examples: ""AF290303"", ""SMITH"", ""12345"", etc."
- W !,""
- W !,"MUMPS Code : Use a Mumps expression that can be used as the argument of a SET"
- W !,"----------- command. Examples: $P($$SITE^VASITE(),""^"",2)"
- W !," $E($$GET1^DIQ(52,RXIEN,.01),1,30)"
- W !," $S(FILLIEN>0:""REFILL"",1:""ORIGINAL"")"
- W !," $$PHA03^PSOASAP()_""B"""
- W !,""
- W !,"NOTE: The value for a Standard Definition Data Element is returned by a"
- W !," function in the format $$SEGNN^PSOASAP(), where 'SEG' is the 2 or"
- W !," 3-character segment identifier and 'NN' is the 2-digit element"
- W !," identifier. Examples: $$IS01^PSOASAP(), $$PRE08^PSOASAP(), etc."
- ;
- K DIR S DIR("A")="Press Return to continue",DIR(0)="E" D ^DIR
- W !,""
- S LEVNAM=$P("^PHARMACY HEADER^PATIENT DETAIL^PRESCRIPTION DETAIL^PHARMACY TRAILER^","^",LEVEL)
- W !,"The following variables are available at the ",LEVNAM," level for"
- W !,"customizing this Data Element:"
- W !,""
- W !," STATEIEN - State IEN. Pointer to STATE file (#5)."
- I LEVEL=1!(LEVEL=6) Q
- W !," SITEIEN - Pharmacy Division IEN. Pointer to OUTPATIENT SITE file (#59)."
- I LEVEL=2!(LEVEL=5) Q
- W !," PATIEN - Patient IEN. Pointer to the PATIENT file (#2)."
- I LEVEL=3 Q
- W !," RXIEN - Prescription IEN. Pointer to the PRESCRIPTION file (#52)."
- W !," DRUGIEN - Drug IEN. Pointer to the DRUG File (#50)"
- W !," FILLNUM - Fill Number ('0': Original Fill,'1': Refill #1,'2': Refill #2,"
- W !," 'P1': Partial #1,'P2': Partial Fill #2, etc.)"
- W !," FILLIEN - Pointer to the REFILL sub-file (#52.1) or PARTIAL sub-file (#52.2)"
- W !," ('0': Original, N: Pointer to Refill or Partial fill)"
- W !," RPHIEN - Pharmacist IEN. Pointer to NEW PERSON file (#200)."
- W !," PREIEN - Prescriber IEN. Pointer to NEW PERSON file (#200)."
- W !," RTSREC - Return To Stock Record? ('1': YES / '0': NO)"
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOSPML3 7965 printed Jan 18, 2025@03:36:12 Page 2
- PSOSPML3 ;BIRM/MFR - ASAP Definitions Listman Driver ;09/01/12
- +1 ;;7.0;OUTPATIENT PHARMACY;**408,451,625**;DEC 1997;Build 42
- +2 ;
- +3 NEW ASAPVER,VERLST,DIR,DIRUT,DTOUT,X,Y,DIC,VALM,VALMBG,VALMCNT,VALMHDR,VALMBCK,VALMSG,PSOLSTLN
- +4 ;
- VER ; ASAP Version Prompt
- +1 ;adding "B" for Zero Report
- WRITE !
- SET ASAPVER=$$ASAPVER^PSOSPMU2("A","B",1)
- IF ASAPVER["^"!(ASAPVER="")
- GOTO EXIT
- +2 ;
- +3 DO EN(ASAPVER,0)
- +4 ;
- +5 GOTO VER
- +6 ;
- EN(PSOASVER,PSOSHOW) ; Entry point
- +1 ;Input: (r) PSOASVER - ASAP Version ("3.0", "4.0", etc.)
- +2 ; (o) PSOSHOW - 0: Segments Only
- +3 ; 1: Segments & Data Elements (ID and Name Only)
- +4 ; 2: Segments & Data Elements (All Details)
- +5 NEW ASAP
- +6 SET PSOSHOW=+$GET(PSOSHOW)
- +7 DO EN^VALM("PSO SPMP VIEW ASAP DEFINITION")
- +8 DO FULL^VALM1
- +9 QUIT
- +10 ;
- HDR ; - Builds the Header section
- +1 NEW STDIEN,VERIEN,HDR,ELMDELIM,SEGTERM,EOSCHR,STDVDLMS,ALLVDLMS
- +2 SET STDVDLMS=$$VERDATA^PSOSPMU0(PSOASVER,"S")
- +3 SET ALLVDLMS=$$VERDATA^PSOSPMU0(PSOASVER,"B")
- +4 SET STDIEN=$ORDER(^PS(58.4,"B","STANDARD ASAP DEFINITION",0))
- +5 SET VERIEN=$ORDER(^PS(58.4,STDIEN,"VER","B",PSOASVER,0))
- +6 SET VALM("TITLE")=" ASAP "_$SELECT('VERIEN:"Custom",1:"Standard")_" Version "_PSOASVER_$SELECT('VERIEN:"*",1:"")
- +7 SET ELMDELIM=$SELECT(PSOASVER="1995":"N/A",1:$PIECE(ALLVDLMS,"^",2))
- +8 SET HDR="Element Delimiter"_$SELECT(($PIECE(STDVDLMS,"^",2)'=""&($PIECE(STDVDLMS,"^",2)'=$PIECE(ALLVDLMS,"^",2))):"*",1:"")_":"_IOINHI_$SELECT(ELMDELIM="":"<NULL>",1:" "_ELMDELIM)_IOINORM
- +9 SET SEGTERM=$SELECT(PSOASVER="1995":"N/A",1:$PIECE(ALLVDLMS,"^",3))
- +10 SET HDR=HDR_" Segment Terminator"_$SELECT(($PIECE(STDVDLMS,"^",3)'=""&($PIECE(STDVDLMS,"^",3)'=$PIECE(ALLVDLMS,"^",3))):"*",1:"")_":"_IOINHI_$SELECT(SEGTERM="":"<NULL>",1:" "_SEGTERM)_IOINORM
- +11 SET EOSCHR=$SELECT(PSOASVER="1995":"$C(10,13)",1:$PIECE(ALLVDLMS,"^",4))
- +12 SET HDR=HDR_" End Of Line ESC"_$SELECT(($PIECE(STDVDLMS,"^",4)'=""&($PIECE(STDVDLMS,"^",4)'=$PIECE(ALLVDLMS,"^",4))):"*",1:"")_":"_IOINHI_$SELECT(EOSCHR="":"<NULL>",1:" "_EOSCHR)_IOINORM
- +13 DO INSTR^VALM1(HDR,1,2)
- +14 QUIT
- +15 ;
- INIT ; Builds the Body section
- +1 NEW ASAP,LINE,I
- +2 ;
- +3 KILL ^TMP("PSOSPML3",$JOB)
- SET VALMCNT=0
- SET LINE=0
- +4 FOR I=1:1:1000
- DO RESTORE^VALM10(I)
- +5 IF PSOASVER="1995"
- Begin DoDot:1
- +6 DO SETSEG95^PSOSPML4("PSOSPML3","")
- SET VALMCNT=LINE
- End DoDot:1
- +7 IF PSOASVER'="1995"
- Begin DoDot:1
- +8 DO LOADASAP^PSOSPMU0(PSOASVER,"B",.ASAP)
- +9 DO SETSEG("ASAP",0)
- SET VALMCNT=LINE
- +10 SET VALMSG="Enter ?? for more actions|* Custom Segment/Element"
- End DoDot:1
- +11 QUIT
- +12 ;
- +13 ; Note: Recursivity used because of the 'Tree' nature of the ASAP definition
- SETSEG(ARRNAM,LEVEL) ; Set list content with the Segment info
- +1 ;Input: ARRNAM - Name of the Array containing the ASAP definition
- +2 ; LEVEL - Level of the Segment
- +3 NEW ARRAY,COLUMN,TYPE,DETLN,SEGID,JUST,I,J,ELMCNT,LSTELM,ELMNAM,MVALUE,SEGLN,LEVNAM,DESCNT,VALIDX
- +4 ;
- +5 SET PSOSHOW=+$GET(PSOSHOW)
- +6 SET ARRAY=$QUERY(@ARRNAM)
- IF '+$PIECE(ARRAY,"(",2)
- QUIT
- +7 SET SEGID=$PIECE(@ARRAY,"^")
- SET COLUMN=(($LENGTH(ARRAY,",")-1)*4)
- +8 SET JUST=""
- if PSOSHOW'=2
- SET JUST=$JUSTIFY("",COLUMN)
- +9 IF LEVEL'=$PIECE(ASAP(SEGID),"^",6)
- Begin DoDot:1
- +10 SET LEVEL=$PIECE(ASAP(SEGID),"^",6)
- +11 SET LEVNAM=$PIECE("MAIN HEADER^PHARMACY HEADER^PATIENT DETAIL^PRESCRIPTION DETAIL^PHARMACY TRAILER^MAIN TRAILER","^",LEVEL)
- +12 DO SETLN^PSOSPMU1("PSOSPML3",JUST_LEVNAM,0,0,0)
- +13 DO CNTRL^VALM10(LINE,$LENGTH(JUST)+1,$LENGTH(LEVNAM),IORVON,IORVOFF_IOINORM)
- End DoDot:1
- +14 SET SEGLN=JUST_$PIECE(ASAP(SEGID),"^")_$SELECT($$CUSSEG^PSOSPMU3(PSOASVER,SEGID):"*",1:"")_" - "_$PIECE(ASAP(SEGID),"^",2)_$SELECT($PIECE(ASAP(SEGID),"^",4)="N":" (Not Used)",1:"")
- +15 DO SETLN^PSOSPMU1("PSOSPML3",SEGLN,0,$SELECT(PSOSHOW'=0:1,1:0),$SELECT($PIECE(ASAP(SEGID),"^",4)="N":0,1:1))
- +16 SET LSTELM=+$ORDER(ASAP(SEGID,""),-1)
- +17 IF PSOSHOW'=0
- Begin DoDot:1
- +18 FOR ELMCNT=1:1:LSTELM
- Begin DoDot:2
- +19 if PSOSHOW=1
- SET JUST=$JUSTIFY("",COLUMN+$LENGTH(SEGID)+1)
- +20 SET ELMNAM=JUST_$PIECE(ASAP(SEGID,ELMCNT),"^")_$SELECT($GET(ASAP(SEGID,ELMCNT,"CUS")):"*",1:"")_" - "_$PIECE(ASAP(SEGID,ELMCNT),"^",2)
- +21 SET ELMNAM=ELMNAM_$SELECT((PSOSHOW=1)&($PIECE(ASAP(SEGID,ELMCNT),"^",6)="N"):" (Not Used)",1:"")
- +22 DO SETLN^PSOSPMU1("PSOSPML3",ELMNAM,0,0,$SELECT((PSOSHOW=1)&($PIECE(ASAP(SEGID,ELMCNT),"^",6)="N"):0,1:1))
- +23 IF PSOSHOW=1
- QUIT
- +24 SET DETLN=JUST_"Requirement: "_$SELECT($PIECE(ASAP(SEGID,ELMCNT),"^",6)="R":"Required",$PIECE(ASAP(SEGID,ELMCNT),"^",6)="O":"Optional",$PIECE(ASAP(SEGID,ELMCNT),"^",6)="N":"Not Used",1:"")
- +25 SET TYPE=$PIECE(ASAP(SEGID,ELMCNT),"^",3)
- +26 SET $EXTRACT(DETLN,33)="Format: "_$SELECT(TYPE="AN":"Alphanumeric",TYPE="N":"Numeric",TYPE="D":"Decimal",TYPE="DT":"Date (YYYYMMDD)",TYPE="TM":"Time (HHMMSS or HHMM)",1:"")
- +27 SET $EXTRACT(DETLN,62)="Maximum Length: "_$PIECE(ASAP(SEGID,ELMCNT),"^",4)
- +28 DO SETLN^PSOSPMU1("PSOSPML3",DETLN)
- +29 ; Highlighting fields Requirement, Format and Length
- +30 DO CNTRL^VALM10(LINE,13,10,IOINHI,IOINORM)
- +31 DO CNTRL^VALM10(LINE,41,20,IOINHI,IOINORM)
- +32 DO CNTRL^VALM10(LINE,77,5,IOINHI,IOINORM)
- +33 FOR DESCNT=1:1
- if '$DATA(ASAP(SEGID,ELMCNT,"DES",DESCNT))
- QUIT
- Begin DoDot:3
- +34 DO SETLN^PSOSPMU1("PSOSPML3",JUST_ASAP(SEGID,ELMCNT,"DES",DESCNT))
- End DoDot:3
- +35 ; Field M Expression Value
- +36 SET DETLN="Value: "
- SET MVALUE=""
- +37 FOR VALIDX=1:1
- if '$DATA(ASAP(SEGID,ELMCNT,"VAL",VALIDX))
- QUIT
- Begin DoDot:3
- +38 SET MVALUE=MVALUE_ASAP(SEGID,ELMCNT,"VAL",VALIDX)
- End DoDot:3
- +39 FOR
- if MVALUE=""
- QUIT
- Begin DoDot:3
- +40 SET $EXTRACT(DETLN,8)=$EXTRACT(MVALUE,1,72)
- +41 DO SETLN^PSOSPMU1("PSOSPML3",DETLN)
- +42 DO CNTRL^VALM10(LINE,8,72,IOINHI,IOINORM)
- +43 SET DETLN=""
- SET MVALUE=$EXTRACT(MVALUE,73,999)
- End DoDot:3
- +44 DO SETLN^PSOSPMU1("PSOSPML3"," ")
- End DoDot:2
- End DoDot:1
- +45 DO SETSEG(ARRAY,LEVEL)
- +46 QUIT
- +47 ;
- HELP ; Listman Help
- +1 QUIT
- +2 ;
- EXIT ;
- +1 KILL ^TMP("PSOSPML3",$JOB)
- +2 QUIT
- +3 ;
- MEXPRHLP(LEVEL,ELMID) ;MUMPS Expression Help Text
- +1 ;Input: (r) LEVEL - Level of the Segment where the Data Element is located
- +2 ; (r) ELMID - Data Element ID ("PHA01", "DSP02", etc.)
- +3 NEW LEVNAM,DIR,X,Y,DIRUT,DTOUT
- +4 WRITE !,"This is the argument of a MUMPS SET command that will be used to retrieve the"
- +5 WRITE !,"value for the Data Element '",ELMID,"'."
- +6 WRITE !,""
- +7 WRITE !,"Below are some examples of valid values for this field:"
- +8 WRITE !,""
- +9 WRITE !,"Null/Blank : Use """" (two quotes) to force a blank value. Another option to"
- +10 WRITE !,"----------- force a blank value is to set the Data Element REQUIREMENT field"
- +11 WRITE !," to 'N' (NOT USED)."
- +12 WRITE !,""
- +13 WRITE !,"Fixed Value: Use quotes to force a fixed value for this Data Element."
- +14 WRITE !,"----------- Examples: ""AF290303"", ""SMITH"", ""12345"", etc."
- +15 WRITE !,""
- +16 WRITE !,"MUMPS Code : Use a Mumps expression that can be used as the argument of a SET"
- +17 WRITE !,"----------- command. Examples: $P($$SITE^VASITE(),""^"",2)"
- +18 WRITE !," $E($$GET1^DIQ(52,RXIEN,.01),1,30)"
- +19 WRITE !," $S(FILLIEN>0:""REFILL"",1:""ORIGINAL"")"
- +20 WRITE !," $$PHA03^PSOASAP()_""B"""
- +21 WRITE !,""
- +22 WRITE !,"NOTE: The value for a Standard Definition Data Element is returned by a"
- +23 WRITE !," function in the format $$SEGNN^PSOASAP(), where 'SEG' is the 2 or"
- +24 WRITE !," 3-character segment identifier and 'NN' is the 2-digit element"
- +25 WRITE !," identifier. Examples: $$IS01^PSOASAP(), $$PRE08^PSOASAP(), etc."
- +26 ;
- +27 KILL DIR
- SET DIR("A")="Press Return to continue"
- SET DIR(0)="E"
- DO ^DIR
- +28 WRITE !,""
- +29 SET LEVNAM=$PIECE("^PHARMACY HEADER^PATIENT DETAIL^PRESCRIPTION DETAIL^PHARMACY TRAILER^","^",LEVEL)
- +30 WRITE !,"The following variables are available at the ",LEVNAM," level for"
- +31 WRITE !,"customizing this Data Element:"
- +32 WRITE !,""
- +33 WRITE !," STATEIEN - State IEN. Pointer to STATE file (#5)."
- +34 IF LEVEL=1!(LEVEL=6)
- QUIT
- +35 WRITE !," SITEIEN - Pharmacy Division IEN. Pointer to OUTPATIENT SITE file (#59)."
- +36 IF LEVEL=2!(LEVEL=5)
- QUIT
- +37 WRITE !," PATIEN - Patient IEN. Pointer to the PATIENT file (#2)."
- +38 IF LEVEL=3
- QUIT
- +39 WRITE !," RXIEN - Prescription IEN. Pointer to the PRESCRIPTION file (#52)."
- +40 WRITE !," DRUGIEN - Drug IEN. Pointer to the DRUG File (#50)"
- +41 WRITE !," FILLNUM - Fill Number ('0': Original Fill,'1': Refill #1,'2': Refill #2,"
- +42 WRITE !," 'P1': Partial #1,'P2': Partial Fill #2, etc.)"
- +43 WRITE !," FILLIEN - Pointer to the REFILL sub-file (#52.1) or PARTIAL sub-file (#52.2)"
- +44 WRITE !," ('0': Original, N: Pointer to Refill or Partial fill)"
- +45 WRITE !," RPHIEN - Pharmacist IEN. Pointer to NEW PERSON file (#200)."
- +46 WRITE !," PREIEN - Prescriber IEN. Pointer to NEW PERSON file (#200)."
- +47 WRITE !," RTSREC - Return To Stock Record? ('1': YES / '0': NO)"
- +48 QUIT