Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Entry Points |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call
Print Page as PDF
Routine: PSOSPMKY

Package: Outpatient Pharmacy

Routine: PSOSPMKY


Information

PSOSPMKY ;BIRM/MFR - State Prescription Monitoring Program - SSH Key Management ;01/06/16

Source Information

Source file <PSOSPMKY.m>

Entry Points

Name Comments DBIA/ICR reference
EN ; Entry-point
ACTION ; SSH Key Action
END
NEWKEY(STATEIEN,ENCRTYPE,ENCRBITS) ; Generate and store a pair of SSH keys for a specific state
; Input: (r) STATEIEN - State that will be using the new key pair. Pointer to the STATE file (#5)
; (o) ENCRTYPE - SSH Encryption Type (DSA / RSA) (Default: RSA)
RETRIEVE(STATEIEN,KEYTYPE) ; Retrieve the SSH Key into the ^TMP global
; Input: (r) STATEIEN - State to retrieve the SSH Key from
; (o) KEYTYPE - SSH Key Type (PUB - Public / PRV - PRivate) (Default: Public)
VIEW(STATEIEN) ; Displays the SSH Public Key
DELETE(STATEIEN) ; Delete Both SSH Keys associated with the State
OPENSSH() ; Returns the SSH Public Key in OpenSSH Format (Converts if necessary)
BKENDOS() ; Returns the Backend Server Operating System (OS)
SETOS(JOB) ; Sets the Operating Systems in ^XTMP("PSOSPMKY",$J,"OS") (Called via Taskman)
HELP ; SSH Key Help Text
ETHELP ; Encryption Type Help

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !
  • Line Location: EN+2
Function Call: WRITE
  • Prompt: !!,"The PSO SPMP ADMIN security key is required for this action.",$C(7)
  • Line Location: ACTION+6
Function Call: WRITE
  • Prompt: !!,"[No SSH Key Pair found for ",$$GET1^DIQ(5,STATEIEN,.01),"]",$C(7)
  • Line Location: ACTION+9
Function Call: WRITE
  • Prompt: !
  • Line Location: ACTION+14
Function Call: WRITE
  • Prompt: !!,"The ",$S(PSOOS["VMS":"OPEN VMS",1:"UNIX/LINUX")," LOCAL DIRECTORY parameter is missing for ",$$GET1^DIQ(5,STATEIEN,.01),". Please,"
  • Line Location: ACTION+21
Function Call: WRITE
  • Prompt: !,"update it in the View/Edit SPMP State Parameters option and try again.",$C(7)
  • Line Location: ACTION+22
Function Call: WRITE
  • Prompt: !!,$G(IOBON),"WARNING:",$G(IOBOFF)," 'DSA' SSH keys are being phased out and are no longer supported.",$C(7)
  • Line Location: ACTION+27
Function Call: WRITE
  • Prompt: !!,$G(IOBON),"WARNING:",$G(IOBOFF)," You may be overwriting SSH Keys that are currently in use.",$C(7)
  • Line Location: ACTION+35
Function Call: WRITE
  • Prompt: !!,"Creating New SSH Keys, please wait..."
  • Line Location: ACTION+40
Function Call: WRITE
  • Prompt: !!,"There was a problem with the generation of the new SSH Key Pair."
  • Line Location: ACTION+52
Function Call: WRITE
  • Prompt: !,"Please try again and if the problem persists contact IT Support.",$C(7)
  • Line Location: ACTION+53
Function Call: WRITE
  • Prompt: "Done",$C(7)
  • Line Location: ACTION+54
Function Call: WRITE
  • Prompt: !!,"[No SSH Key Pair found for ",$$GET1^DIQ(5,STATEIEN,.01),"]",$C(7)
  • Line Location: ACTION+61
Function Call: WRITE
  • Prompt: !!,$G(IOBON),"WARNING:",$G(IOBOFF)," You may be deleting SSH Keys that are currently in use.",$C(7)
  • Line Location: ACTION+62
Function Call: WRITE
  • Prompt: !!,"Deleting SSH Keys..."
  • Line Location: ACTION+65
Function Call: WRITE
  • Prompt: "Done",$C(7)
  • Line Location: ACTION+65
Function Call: WRITE
  • Prompt: "SSH_KEYGEN == ""$SYS$SYSTEM:TCPIP$SSH_SSH-KEYGEN2.EXE""",!
  • Line Location: NEWKEY+23
Function Call: WRITE
  • Prompt: "SSH_KEYGEN -t "_$$LOW^XLFSTR($G(ENCRTYPE))_" -""P"" "_LOCALDIR_KEYFILE,!
  • Line Location: NEWKEY+24
Function Call: WRITE
  • Prompt: !,$$GET1^DIQ(5,STATEIEN,.01),"'s Public SSH Key (",$P($G(^TMP("PSOPUBKY",$J,0)),"^",2),") content (does not include dash lines):"
  • Line Location: VIEW+7
Function Call: WRITE
  • Prompt: !,DASHLN
  • Line Location: VIEW+8
Function Call: WRITE
  • Prompt: !,$E(SSHKEY,1,80)
  • Line Location: VIEW+9
Function Call: WRITE
  • Prompt: !,DASHLN
  • Line Location: VIEW+10
Function Call: WRITE
  • Prompt: !!,"Secure SHell (SSH) Encryption Keys are used to automate the data transmission"
  • Line Location: HELP+1
Function Call: WRITE
  • Prompt: !,"to the State Prescription Monitoring Programs (SPMPs). Follow the steps below"
  • Line Location: HELP+2
Function Call: WRITE
  • Prompt: !,"to successfully setup SPMP transmissions from VistA to the state/vendor server:"
  • Line Location: HELP+3
Function Call: WRITE
  • Prompt: !,""
  • Line Location: HELP+4
Function Call: WRITE
  • Prompt: !,"Step 1: Select the 'N' (Create New SSH Key Pair) Action and follow the prompts"
  • Line Location: HELP+5
Function Call: WRITE
  • Prompt: !," to create a new pair of SSH keys. If you already have an existing SSH"
  • Line Location: HELP+6
Function Call: WRITE
  • Prompt: !," Key Pair you can skip this step. You can check whether you already"
  • Line Location: HELP+7
Function Call: WRITE
  • Prompt: !," have an existing SSH Key Pair through the 'V' (View Public SSH Key)"
  • Line Location: HELP+8
Function Call: WRITE
  • Prompt: !," Action."
  • Line Location: HELP+9
Function Call: WRITE
  • Prompt: !,""
  • Line Location: HELP+10
Function Call: WRITE
  • Prompt: !," Encryption Type: DSA, RSA, ECDSA or EDDSA?"
  • Line Location: HELP+12
Function Call: WRITE
  • Prompt: !," -----------------------------------"
  • Line Location: HELP+13
Function Call: WRITE
  • Prompt: !!,"Step 2: Share the Public SSH Key content with the state/vendor. In order to"
  • Line Location: HELP+15
Function Call: WRITE
  • Prompt: !," successfully establish SPMP transmissions the state/vendor will have"
  • Line Location: HELP+16
Function Call: WRITE
  • Prompt: !," to install/configure the new SSH Key created in step 1 for the"
  • Line Location: HELP+17
Function Call: WRITE
  • Prompt: !," user id they assigned to your site. Use the 'V' (View Public SSH Key)"
  • Line Location: HELP+18
Function Call: WRITE
  • Prompt: !," Action to retrieve the content of the Public SSH key. The Public SSH"
  • Line Location: HELP+19
Function Call: WRITE
  • Prompt: !," Key should not contain line-feed characters, therefore after you copy"
  • Line Location: HELP+20
Function Call: WRITE
  • Prompt: !," & paste it from the terminal emulator into an email or text editor"
  • Line Location: HELP+21
Function Call: WRITE
  • Prompt: !," make sure it contains only one line of text (no wrapping)."
  • Line Location: HELP+22
Function Call: WRITE
  • Prompt: !," Digital Signature Algorithm (DSA) (No longer supported) and Rivest,"
  • Line Location: ETHELP+1
Function Call: WRITE
  • Prompt: !," algorithms used by the IT industry for securely sharing data. "
  • Line Location: ETHELP+3
Function Call: WRITE
  • Prompt: !," Elliptic Curve Digital Signature Algorithm (ECDSA) and Edward-curve"
  • Line Location: ETHELP+5
Function Call: WRITE
  • Prompt: !," Digital Signature Algorithm (EDDSA) are more complex public key"
  • Line Location: ETHELP+6
Function Call: WRITE
  • Prompt: !," cryptography encryption algorithms that are now supported by the VA."
  • Line Location: ETHELP+7
Function Call: WRITE
  • Prompt: !," Many of SPMP servers can handle all types; however there are vendors"
  • Line Location: ETHELP+8
Function Call: WRITE
  • Prompt: !," that accept only one specific type. You will need to contact the SPMP"
  • Line Location: ETHELP+9
Function Call: WRITE
  • Prompt: !," vendor support to determine which type to select. If ECDSA is selected"
  • Line Location: ETHELP+10
Function Call: WRITE
  • Prompt: !," you will be prompted to enter the Bit size. Valid selections are 256,"
  • Line Location: ETHELP+11
Function Call: WRITE
  • Prompt: !," 384 or 521."
  • Line Location: ETHELP+12

FileMan Files Accessed Via FileMan Db Call

FileNo Call Tags
^DIC(5 - [#5] GET1^DIQ
^PS(58.41 - [#58.41] Classic Fileman Calls,  GET1^DIQ
Info |  Source |  Entry Points |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call