| 1 | HLOSITE ;ALB/CJM-HL7 - API for getting site parameters ;02/04/2004
 | 
|---|
| 2 |  ;;1.6;HEALTH LEVEL SEVEN;**126**;Oct 13, 1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | SYSPARMS(SYSTEM) ;Gets system parameters from file 779.1
 | 
|---|
| 5 |  ;Input: none
 | 
|---|
| 6 |  ;Output:
 | 
|---|
| 7 |  ;
 | 
|---|
| 8 |  N NODE,LINK
 | 
|---|
| 9 |  S NODE=$G(^HLD(779.1,1,0))
 | 
|---|
| 10 |  S SYSTEM("DOMAIN")=$P(NODE,"^")
 | 
|---|
| 11 |  S SYSTEM("STATION")=$P(NODE,"^",2)
 | 
|---|
| 12 |  S SYSTEM("PROCESSING ID")=$P(NODE,"^",3)
 | 
|---|
| 13 |  S SYSTEM("MAXSTRING")=$P(NODE,"^",4)
 | 
|---|
| 14 |  I 'SYSTEM("MAXSTRING") D
 | 
|---|
| 15 |  .N OS S OS=^%ZOSF("OS")
 | 
|---|
| 16 |  .S SYSTEM("MAXSTRING")=$S(OS["OpenM":512,OS["DSM":512,1:256)
 | 
|---|
| 17 |  S SYSTEM("HL7 BUFFER")=$P(NODE,"^",5)
 | 
|---|
| 18 |  S:'SYSTEM("HL7 BUFFER") SYSTEM("HL7 BUFFER")=15000
 | 
|---|
| 19 |  S SYSTEM("USER BUFFER")=$P(NODE,"^",6)
 | 
|---|
| 20 |  S:'SYSTEM("USER BUFFER") SYSTEM("USER BUFFER")=5000
 | 
|---|
| 21 |  S SYSTEM("NORMAL PURGE")=$P(NODE,"^",7)
 | 
|---|
| 22 |  I 'SYSTEM("NORMAL PURGE") S SYSTEM("NORMAL PURGE")=36
 | 
|---|
| 23 |  S SYSTEM("ERROR PURGE")=$P(NODE,"^",8)
 | 
|---|
| 24 |  I 'SYSTEM("ERROR PURGE") S SYSTEM("ERROR PURGE")=7
 | 
|---|
| 25 |  S LINK=$P(NODE,"^",10)
 | 
|---|
| 26 |  S:LINK SYSTEM("PORT")=$$PORT^HLOTLNK(LINK)
 | 
|---|
| 27 |  S:'$G(SYSTEM("PORT")) SYSTEM("PORT")=$S(SYSTEM("PROCESSING ID")="P":5001,1:5026)
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 | INC(VARIABLE,AMOUNT) ;
 | 
|---|
| 31 |  ;Increments VARIABLE by AMOUNT, using $I if available, otherwise by locking.
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  N OS
 | 
|---|
| 34 |  ;if HLCSTATE has been defined, then we have already checked the OS, so use it.
 | 
|---|
| 35 |  I $D(HLCSTATE("SYSTEM","OS")) D
 | 
|---|
| 36 |  .S OS=HLCSTATE("SYSTEM","OS")
 | 
|---|
| 37 |  E  D
 | 
|---|
| 38 |  .S OS=^%ZOSF("OS")
 | 
|---|
| 39 |  I '$G(AMOUNT) S AMOUNT=1
 | 
|---|
| 40 |  I (OS["OpenM")!(OS["DSM")!(OS["CACHE") Q $I(@VARIABLE,AMOUNT)
 | 
|---|
| 41 |  L +VARIABLE:100
 | 
|---|
| 42 |  S @VARIABLE=@VARIABLE+AMOUNT
 | 
|---|
| 43 |  L -VARIABLE
 | 
|---|
| 44 |  Q @VARIABLE
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 | COUNT778() ;
 | 
|---|
| 47 |  ;This function returns the # of records in file 778.
 | 
|---|
| 48 |  N COUNT,IEN
 | 
|---|
| 49 |  S (COUNT,IEN)=0
 | 
|---|
| 50 |  F  S IEN=$O(^HLB(IEN)) Q:'IEN  S COUNT=COUNT+1
 | 
|---|
| 51 |  Q COUNT
 | 
|---|
| 52 | COUNT777() ;
 | 
|---|
| 53 |  ;This function returns the # of records in file 777.
 | 
|---|
| 54 |  N COUNT,IEN
 | 
|---|
| 55 |  S (COUNT,IEN)=0
 | 
|---|
| 56 |  F  S IEN=$O(^HLA(IEN)) Q:'IEN  S COUNT=COUNT+1
 | 
|---|
| 57 |  Q COUNT
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 | UPDCNTS ;update the record counts for file 777,778
 | 
|---|
| 60 |  N COUNT
 | 
|---|
| 61 |  S COUNT=$$COUNT777^HLOSITE
 | 
|---|
| 62 |  S $P(^HLA(0),"^",4)=COUNT
 | 
|---|
| 63 |  S ^HLTMP("FILE 777 RECORD COUNT")=COUNT_"^"_$$NOW^XLFDT
 | 
|---|
| 64 |  S COUNT=$$COUNT778^HLOSITE
 | 
|---|
| 65 |  S $P(^HLB(0),"^",4)=COUNT
 | 
|---|
| 66 |  S ^HLTMP("FILE 778 RECORD COUNT")=COUNT_"^"_$$NOW^XLFDT
 | 
|---|
| 67 |  Q
 | 
|---|