Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AUPNMBIU

AUPNMBIU.m

Go to the documentation of this file.
  1. AUPNMBIU ; IHS/OIT/FBD&NKD - MBI API UTILITIES ; 11/02/2017 ;
  1. ;;99.1;IHS DICTIONARIES (PATIENT);**26**;MAR 9, 1999;Build 11
  1. ;
  1. Q ;NO TOP-LEVEL CALL ALLOWED
  1. ;
  1. RAND() ;PEP - RANDOM MBI VALUE GENERATOR
  1. ;Function: Return randomly generated MBI value (for testing use)
  1. ;Call: $$RAND^AUPNMBIU
  1. ;Returned value: Randomly generated text string complying with CMS-defined MBI format
  1. ;
  1. ;Acceptable MBI Format is:
  1. ; 1 1
  1. ;Position: 1 2 3 4 5 6 7 8 9 0 1
  1. ; ---------------------
  1. ; Type: C A X N A X N A A N N
  1. ;
  1. ;Types are:
  1. ; A = Alphabetic characters A-Z
  1. ; C = Natural numbers 1-9
  1. ; N = Whole numbers 0-9
  1. ; X = Alphanumeric characters 0-9 and A-Z
  1. ;Letters excluded from use in alphabetics and alphanumerics: S, L, O, B, I, Z
  1. ;
  1. N RES
  1. S RES=$$C_$$A_$$X_$$N_$$A_$$X_$$N_$$A_$$A_$$N_$$N
  1. Q RES
  1. ;
  1. C() Q $C((49+$R(9))) ;RANDOM GENERATOR FOR NATURAL NUMBERS 1-9
  1. ;
  1. N() Q $C((48+$R(10))) ;RANDOM GENERATOR FOR WHOLE NUMBERS 0-9
  1. ;
  1. A() ;RANDOM GENERATOR FOR ALPHABETIC CHARACTERS A-Z
  1. N X,EXCLUDE
  1. S EXCLUDE="SLOBIZ" ;EXCLUSIONS FROM ACCEPTABLE CHARACTER LIST
  1. F S X=65+$R(26) Q:EXCLUDE'[$C(X)
  1. Q $C(X)
  1. ;
  1. X() ;RANDOM GENERATOR FOR ALPHANUMERIC CHARACTERS 0-9 AND A-Z
  1. N X,EXCLUDE
  1. S EXCLUDE="SLOBIZ" ;EXCLUSIONS FROM ACCEPTABLE CHARACTER LIST
  1. F D Q:$G(X) ;REPEAT LOOP UNTIL AN ACCEPTABLE VALUE PERSISTS THROUGH ALL CHECKS
  1. . S X=48+$R(43) ;RANDOM GENERATOR
  1. . Q:X<58 ;EXIT IF GENERATED RANDOM VALUE FALLS INTO NUMERIC RANGE (ASCII 48-57 = CHARS "0"-"9")
  1. . I X>64 D ;CHECK FURTHER IF GENERATED RANDOM VALUE FALLS INTO ALPHABETIC RANGE (ASCII 65-90 = CHARS "A"-"Z")
  1. . . K:EXCLUDE[$C(X) X ;ELIMINATE IF GENERATED RANDOM VALUE CORRESPONDS TO EXCLUDED ASCII CHAR
  1. . E K X
  1. Q $C(X)
  1. ;