Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables  | All
Print Page as PDF
Routine: PSOSPMU2

Package: Outpatient Pharmacy

Routine: PSOSPMU2


Information

PSOSPMU2 ;BIRM/MFR - State Prescription Monitoring Program Utility #2 - Prompts ;10/07/15

Source Information

Source file <PSOSPMU2.m>

Call Graph

Call Graph

Call Graph Total: 10

Package Total Call Graph
Outpatient Pharmacy 6 $$RXFLDT^PSOBPSUT  $$ASKFLD^PSOSPMA3  $$CLONE^PSOSPML3  ($$VERSIONLOCKED,LOADASAP,VERLIST)^PSOSPMU0  HLP1^PSOSPMU2  (COPYSEG,DELCUS,SAVESEG)^PSOSPMU3  
Kernel 2 $$FMTE^XLFDT  $$UP^XLFSTR  
VA FileMan 2 $$GET1^DIQ  ^DIR  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 8

Package Total Caller Graph
Outpatient Pharmacy 8 PSOSPMA3  PSOSPML3  PSOSPML4  PSOSPML6  PSOSPML7  PSOSPMSP  PSOSPMU2  PSOSPMV  

Entry Points

Name Comments DBIA/ICR reference
ASAPVER(DEFTYPE,REGZERO,DSPHLP,DEFAULT,REQUIRED,ALLOWDEL) ; Prompt for the ASAP Version
; Input: (r) DEFTYPE - ASAP Definition Type (S: Standard Only; C: Customized Only, F: Fully Customized Only,
; A: All. A combination is also allowed, e.g., "CF")
; (r) REGZERO - Regular or Zero Report or Both ASAP Definitions (R: Regular Only; Z: Zero Report Only;
; B: Both) ;adding new parameter for Zero Report
; (o) DSPHLP - Display Help before prompting? (1: YES / 0: NO)
; (o) DEFAULT - Default ASAP Version
; (o) REQUIRED - Is Answer Required? (1: YES / 0: NO)
; (o) ALLOWDEL - Allow delete? (accepts "@" as a valid input)
ASK1 ; Label used in case the prompt needs to be asked again
HLP1(VERLST) ; Help Text for ASAP Version prompt and Zero Report ASAP Version prompt
RXFILL(RXIEN) ; Select Prescription Fill #
MWA(RXIEN,FILL) ; Returns the Rx delivering (WINDOW/MAIL/ADMIN IN CLINIC)
ASAPHELP(AVER,ASEG,AFLD) ; SPMP Help Text
; Retrieve ASAP text definition/description from SPMP ASAP RECORD DEFINITION file (#58.4)
; INPUT: AVER = ASAP Version
; ASEG = ASAP Segment
; AFLD = ASAP Field
CUSTDEL(PSOASVER,SEGID,ELMPOS,ELMDATA,RETURN) ; Define elements for 'custom standard' ASAP version - PSO*7*772
; PSOASVER - ASAP Version to be udpated
; ELMDATA - Input string containing updated elements
; RETURN - Destination array containing updated elements
STDSEGCU(PSOASVER,STDASAP,CUSASAP,ALLASAP,CUSSEG) ; Customize Standard Segment - 772
; PSOASVER - ASAP Version
; STDASAP - Array of only Standard ASAP components related to PSOASVER
; CUSASAP - Array of only Custom ASAP components related to PSOASVER
; ALLASAP - Array of combined Standard and Custom components related to PSOASVER
; CUSSEG - Segment being worked on

External References

Name Field # of Occurrence
$$GET1^DIQ MWA+3, MWA+4, MWA+5, MWA+6
^DIR ASK1+9, RXFILL+15
$$RXFLDT^PSOBPSUT RXFILL+5, RXFILL+7, RXFILL+9
$$ASKFLD^PSOSPMA3 STDSEGCU+13, STDSEGCU+21, STDSEGCU+34, STDSEGCU+42, STDSEGCU+57, STDSEGCU+76
$$CLONE^PSOSPML3 CUSTDEL+5
$$VERSIONLOCKED^PSOSPMU0 HLP1+11, HLP1+24
LOADASAP^PSOSPMU0 ASAPHELP+8
VERLIST^PSOSPMU0 ASK1+1
HLP1^PSOSPMU2 ASK1+8
COPYSEG^PSOSPMU3 STDSEGCU+81
DELCUS^PSOSPMU3 STDSEGCU+85
SAVESEG^PSOSPMU3 STDSEGCU+83
$$FMTE^XLFDT RXFILL+5, RXFILL+7, RXFILL+9, RXFILL+14
$$UP^XLFSTR ASAPHELP+10, STDSEGCU+23

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !,"This is a required response. Enter '^' to exit",$C(7),!
  • Line Location: ASK1+12
Function Call: WRITE
  • Prompt: ?40,"Invalid ASAP Version",$C(7),!
  • Line Location: ASK1+14
Function Call: WRITE
  • Prompt: !?5,"American Society for Automation in Pharmacy (ASAP) Version for Zero"
  • Line Location: HLP1+4
Function Call: WRITE
  • Prompt: !?5,"Reporting to the State (no prescription fills to report). Leave blank"
  • Line Location: HLP1+5
Function Call: WRITE
  • Prompt: !?5,"if the state does not require Zero Reporting."
  • Line Location: HLP1+6
Function Call: WRITE
  • Prompt: !!?5,"Select one of the following:"
  • Line Location: HLP1+7
Function Call: WRITE
  • Prompt: !
  • Line Location: HLP1+8
Function Call: WRITE
  • Prompt: !,HLPLN
  • Line Location: HLP1+12
Function Call: WRITE
  • Prompt: !
  • Line Location: HLP1+13
Function Call: WRITE
  • Prompt: !?5,"American Society for Automation in Pharmacy (ASAP) Version"
  • Line Location: HLP1+15
Function Call: WRITE
  • Prompt: !!?5,"Select one of the following:"
  • Line Location: HLP1+16
Function Call: WRITE
  • Prompt: !
  • Line Location: HLP1+17
Function Call: WRITE
  • Prompt: !,HLPLN
  • Line Location: HLP1+25
Function Call: WRITE
  • Prompt: !
  • Line Location: HLP1+26
Function Call: READ
  • Prompt: -"
  • Variable: TXT["CANCEL"
  • Timeout: "
  • Line Location: ASAPHELP+11
Function Call: WRITE
  • Prompt: $S(TXT["NEW":" N -",TXT["CHANGE":" R -",TXT["CANCEL":" V -",TXT]"VOID":" V",1:" ")
  • Line Location: ASAPHELP+11
Function Call: WRITE
  • Prompt: !,"Parent Segment ID not found.",$C(7)
  • Line Location: STDSEGCU+24
Function Call: WRITE
  • Prompt: !,"Parent Segment ID cannot be its own parent.",$C(7)
  • Line Location: STDSEGCU+25
Function Call: WRITE
  • Prompt: " ",$P(ALLASAP(X),"^",2)
  • Line Location: STDSEGCU+26
Function Call: WRITE
  • Prompt: !,"The Segment '",SEG,"' (",$P(ALLASAP(SEG),"^",2),") already occupies this position.",$C(7)
  • Line Location: STDSEGCU+45
Function Call: WRITE
  • Prompt: !,"Orphan segments can only be located at the MAIN HEADER or MAIN TRAILER levels.",$C(7)
  • Line Location: STDSEGCU+59
Function Call: WRITE
  • Prompt: !,"Segment level must be the same as the parent's level (",$P($G(ALLASAP(SEGPAR)),"^",6),").",$C(7)
  • Line Location: STDSEGCU+63
Function Call: WRITE
  • Prompt: !,"Segment level cannot be lower than parent's level (",$P($G(ALLASAP(SEGPAR)),"^",6),").",$C(7)
  • Line Location: STDSEGCU+65
Function Call: WRITE
  • Prompt: !,"Segment level cannot be more than 1 level above parent's level (",$P($G(ALLASAP(SEGPAR)),"^",6),").",$C(7)
  • Line Location: STDSEGCU+67
Function Call: WRITE
  • Prompt: !!?5,"** No changes made, nothing saved. **"
  • Line Location: STDSEGCU+73
Function Call: WRITE
  • Prompt: ?40,"Saving..."
  • Line Location: STDSEGCU+77
Function Call: WRITE
  • Prompt: "OK",$C(7)
  • Line Location: STDSEGCU+86
Routine Call
  • DIR
  • Line Location:
    • ASK1+9
    • RXFILL+15

FileMan Files Accessed Via FileMan Db Call

FileNo Call Tags
^PSRX - [#52] GET1^DIQ
52.1 GET1^DIQ
52.2 GET1^DIQ

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^PSRX - [#52] RXFILL+6, RXFILL+8, RXFILL+10, RXFILL+11, RXFILL+12

Label References

Name Line Occurrences
$$MWA RXFILL+5, RXFILL+7, RXFILL+9, RXFILL+14
ASK1 ASK1+12, ASK1+14

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
AFLD ASAPHELP~, ASAPHELP+7, ASAPHELP+9, ASAPHELP+10, ASAPHELP+12
ALLASAP STDSEGCU~, STDSEGCU+83
ALLASAP( STDSEGCU+23, STDSEGCU+24, STDSEGCU+26, STDSEGCU+40, STDSEGCU+41, STDSEGCU+43, STDSEGCU+44, STDSEGCU+45, STDSEGCU+52, STDSEGCU+55
, STDSEGCU+56, STDSEGCU+58, STDSEGCU+62, STDSEGCU+63, STDSEGCU+64, STDSEGCU+65, STDSEGCU+66, STDSEGCU+67, STDSEGCU+72
ALLOWDEL ASAPVER~, ASK1+11
ASAP ASAPHELP+6~, ASAPHELP+8
ASAP( ASAPHELP+9, ASAPHELP+10, ASAPHELP+12
ASEG ASAPHELP~, ASAPHELP+7, ASAPHELP+9, ASAPHELP+10, ASAPHELP+12
AVER ASAPHELP~, ASAPHELP+7, ASAPHELP+8
CLONE HLP1+19~*, HLP1+20
CUSASAP STDSEGCU~
CUSASAP( STDSEGCU+11, STDSEGCU+19, STDSEGCU+32, STDSEGCU+53, STDSEGCU+55, STDSEGCU+58, STDSEGCU+79, STDSEGCU+85
CUSSEG STDSEGCU~, STDSEGCU+9, STDSEGCU+11, STDSEGCU+12, STDSEGCU+14, STDSEGCU+19, STDSEGCU+20, STDSEGCU+22, STDSEGCU+25, STDSEGCU+27
, STDSEGCU+32, STDSEGCU+33, STDSEGCU+35, STDSEGCU+40, STDSEGCU+41, STDSEGCU+44, STDSEGCU+46, STDSEGCU+52, STDSEGCU+53, STDSEGCU+55
, STDSEGCU+56, STDSEGCU+58, STDSEGCU+68, STDSEGCU+72, STDSEGCU+79, STDSEGCU+80, STDSEGCU+81, STDSEGCU+83, STDSEGCU+85
DEFAULT ASAPVER~, ASK1+4, ASK1+6
DEFTYPE ASAPVER~, ASK1+1
DIR ASAPVER+10~, ASK1+4!, ASK1+6!, RXFILL+2~, RXFILL+4!
DIR("?" ASK1+8*
DIR("A" ASK1+4*, ASK1+6*, RXFILL+4*
DIR("B" ASK1+4*, ASK1+6*, RXFILL+4*
DIR(0 ASK1+4*, ASK1+6*, RXFILL+5*, RXFILL+7*, RXFILL+9*, RXFILL+14*
DIRUT ASAPVER+10~, ASK1+13, RXFILL+2~, RXFILL+15
DONE STDSEGCU+7~, STDSEGCU+17*, STDSEGCU+21, STDSEGCU+27*, STDSEGCU+36*, STDSEGCU+42, STDSEGCU+46*, STDSEGCU+50*, STDSEGCU+57, STDSEGCU+68*
DSPHLP ASAPVER~, ASK1+8
DTOUT ASAPVER+10~, ASK1+13, RXFILL+2~, RXFILL+15
ELMDATA CUSTDEL~, CUSTDEL+6, CUSTDEL+7, CUSTDEL+8
ELMDATA("DES" CUSTDEL+9
ELMPOS CUSTDEL~, CUSTDEL+6, CUSTDEL+7, CUSTDEL+8, CUSTDEL+9
FILL MWA~, MWA+3, MWA+4
FILLARR RXFILL+2~
FILLARR( RXFILL+7*, RXFILL+11, RXFILL+13*
FILLARR("P" RXFILL+9*
FILLARR(0 RXFILL+3*
HLPLN HLP1+2~, HLP1+10*, HLP1+11*, HLP1+12, HLP1+20*, HLP1+21*, HLP1+22*, HLP1+23*, HLP1+24*, HLP1+25
I RXFILL+2~, RXFILL+6*, RXFILL+7, RXFILL+8*, RXFILL+9, RXFILL+10*, RXFILL+11, RXFILL+12
LN ASAPHELP+6~, ASAPHELP+9*, ASAPHELP+10, ASAPHELP+12
NEWSEG STDSEGCU+7~, STDSEGCU+8*
OK STDSEGCU+7~, STDSEGCU+43*, STDSEGCU+45*, STDSEGCU+46
PSOASVER CUSTDEL~, CUSTDEL+5, STDSEGCU~, STDSEGCU+81, STDSEGCU+83, STDSEGCU+85
QUIT STDSEGCU+7~, STDSEGCU+60*, STDSEGCU+61, STDSEGCU+62*, STDSEGCU+64*, STDSEGCU+66*
REGZERO ASAPVER~, ASK1+1, ASK1+3, HLP1+3, HLP1+22
REQUIRED ASAPVER~, ASK1+10, ASK1+12
RETURN CUSTDEL~
RETURN( CUSTDEL+6*, CUSTDEL+7*, CUSTDEL+8*, CUSTDEL+9*
RTSFILL RXFILL+2~, RXFILL+11*, RXFILL+13, RXFILL+14
RTSFLDT RXFILL+2~, RXFILL+12*, RXFILL+14
RXFILL RXFILL+2~, RXFILL+3*, RXFILL+16*, RXFILL+17
RXIEN RXFILL~, RXFILL+5, RXFILL+6, RXFILL+7, RXFILL+8, RXFILL+9, RXFILL+10, RXFILL+11, RXFILL+12, RXFILL+14
, MWA~, MWA+3, MWA+4, MWA+5, MWA+6
SEG STDSEGCU+7~, STDSEGCU+43*, STDSEGCU+44, STDSEGCU+45
SEGID CUSTDEL~, CUSTDEL+6, CUSTDEL+7, CUSTDEL+8, CUSTDEL+9
SEGLEV STDSEGCU+51~*, STDSEGCU+52*, STDSEGCU+53*, STDSEGCU+57
SEGLEVCUS STDSEGCU+51~, STDSEGCU+52*
SEGNM STDSEGCU+7~, STDSEGCU+11*, STDSEGCU+12*, STDSEGCU+13
SEGNMCUS STDSEGCU+7~, STDSEGCU+11*
SEGPAR STDSEGCU+18~*, STDSEGCU+19*, STDSEGCU+20*, STDSEGCU+21, STDSEGCU+22*, STDSEGCU+27*, STDSEGCU+55, STDSEGCU+56, STDSEGCU+61, STDSEGCU+62
, STDSEGCU+63, STDSEGCU+64, STDSEGCU+65, STDSEGCU+66, STDSEGCU+67
SEGPARCUS STDSEGCU+18~, STDSEGCU+19*
SEGPOS STDSEGCU+39~*, STDSEGCU+40*, STDSEGCU+41*, STDSEGCU+42
SEGPOSCUS STDSEGCU+39~, STDSEGCU+40*
SEGREQ STDSEGCU+31~*, STDSEGCU+32*, STDSEGCU+33*, STDSEGCU+34, STDSEGCU+35*
SEGREQCUS STDSEGCU+31~, STDSEGCU+32*
STDASAP STDSEGCU~, STDSEGCU+81
STDASAP( STDSEGCU+12, STDSEGCU+20, STDSEGCU+33, STDSEGCU+80*, STDSEGCU+85
TMPASAP STDSEGCU+7~
TMPASAP( STDSEGCU+9*, STDSEGCU+14*, STDSEGCU+22*, STDSEGCU+27*, STDSEGCU+35*, STDSEGCU+44, STDSEGCU+46*, STDSEGCU+56*, STDSEGCU+68*, STDSEGCU+72
, STDSEGCU+80, STDSEGCU+83, STDSEGCU+85
TXT ASAPHELP+10~*, ASAPHELP+11
VER HLP1+2~, HLP1+9*, HLP1+10, HLP1+11, HLP1+18*, HLP1+19, HLP1+20, HLP1+21, HLP1+23, HLP1+24
VERLST ASAPVER+10~, ASK1+1, ASK1+8, HLP1~
VERLST( ASK1+14, HLP1+9, HLP1+10, HLP1+18, HLP1+19, HLP1+20, HLP1+21, HLP1+23
X ASAPVER+10~, ASK1+10, ASK1+11, ASK1+12, ASK1+14, ASK1+15, STDSEGCU+13*, STDSEGCU+14, STDSEGCU+21*, STDSEGCU+22
, STDSEGCU+23*, STDSEGCU+24, STDSEGCU+25, STDSEGCU+26, STDSEGCU+27, STDSEGCU+28, STDSEGCU+34*, STDSEGCU+35, STDSEGCU+42*, STDSEGCU+44
, STDSEGCU+46, STDSEGCU+47, STDSEGCU+57*, STDSEGCU+58, STDSEGCU+62, STDSEGCU+64, STDSEGCU+66, STDSEGCU+68, STDSEGCU+69, STDSEGCU+76*
Y ASAPVER+10~, RXFILL+2~, RXFILL+16, STDSEGCU+8*
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables  | All