| 1 | SCMSPU1 ;ALB/JRP - AMB CARE POST INIT UTILITIES;03-JUN-1996 | 
|---|
| 2 | ;;5.3;Scheduling;**44**;AUG 13, 1993 | 
|---|
| 3 | CRTAPP(HL7APP,HL7FAC,HL7MG) ;Create/find entry in HL APPLICATION file (#771) | 
|---|
| 4 | ; | 
|---|
| 5 | ;Input  : HL7APP - Name of application to create (field #.01) | 
|---|
| 6 | ;                  Free text - 3 to 15 characters | 
|---|
| 7 | ;         HL7FAC - Facility name (field #3) | 
|---|
| 8 | ;                  Free text - 1 to 20 characters | 
|---|
| 9 | ;                  Defaults to facility number | 
|---|
| 10 | ;         HL7MG - Mail Group (field #4) | 
|---|
| 11 | ;                 Pointer to entry in MAIL GROUP file (#3.8) | 
|---|
| 12 | ;Output : Ptr^New - Pointer to entry in HL APPLICATION file | 
|---|
| 13 | ;                   Flag indicating if entry was created | 
|---|
| 14 | ;                     1 = Yes | 
|---|
| 15 | ;                     0 = No | 
|---|
| 16 | ;         -1^Text - Error | 
|---|
| 17 | ;Notes  : If an existing entry is found, the currently stored values | 
|---|
| 18 | ;         will not be overwritten | 
|---|
| 19 | ;       : Default field seperator (#100) and encoding characters (#101) | 
|---|
| 20 | ;         are used.  This is done by not storing anything in the file | 
|---|
| 21 | ;         for these fields. | 
|---|
| 22 | ;       : A value for the country code (#7) will not be stored | 
|---|
| 23 | ;       : Application will be marked as active | 
|---|
| 24 | ; | 
|---|
| 25 | ;Check input | 
|---|
| 26 | S HL7APP=$G(HL7APP) | 
|---|
| 27 | Q:(HL7APP="") "-1^Did not pass name of HL7 Application to create" | 
|---|
| 28 | Q:((($L(HL7APP)<3))!(($L(HL7APP)>15))) "-1^Did not pass valid name for HL7 Application" | 
|---|
| 29 | S HL7FAC=$G(HL7FAC) | 
|---|
| 30 | S:(HL7FAC="") HL7FAC=+$P($$SITE^VASITE(),"^",3) | 
|---|
| 31 | Q:($L(HL7FAC)>20) "-1^Did not pass valid HL7 Facility Name" | 
|---|
| 32 | S HL7MG=+$G(HL7MG) | 
|---|
| 33 | Q:('$D(^XMB(3.8,HL7MG,0))) "-1^Did not pass valid pointer to Mail Group" | 
|---|
| 34 | ;Declare variables | 
|---|
| 35 | N HL7PTR,DIC,DIE,DA,DR,X,Y,DLAYGO,DTOUT,DUOUT,HL7NEW | 
|---|
| 36 | S DIC="^HL(771," | 
|---|
| 37 | S DIC(0)="LX" | 
|---|
| 38 | S DIC("DR")="2///ACTIVE;3///^S X=HL7FAC;4////^S X=HL7MG" | 
|---|
| 39 | S DLAYGO=771 | 
|---|
| 40 | S X=HL7APP | 
|---|
| 41 | ;Create/find entry | 
|---|
| 42 | D ^DIC | 
|---|
| 43 | S HL7PTR=+Y | 
|---|
| 44 | S HL7NEW=+$P(Y,"^",3) | 
|---|
| 45 | ;Error | 
|---|
| 46 | Q:(HL7PTR<0) "-1^Unable to create HL7 Application" | 
|---|
| 47 | ;Success - done | 
|---|
| 48 | Q HL7PTR_"^"_HL7NEW | 
|---|
| 49 | ; | 
|---|
| 50 | OPCMG(RETNAME) ;Get pointer to Mail Group that receives OPC generation bulletin | 
|---|
| 51 | ;Input  : RETNAME - Flag indicating if name of Mail Group should | 
|---|
| 52 | ;                   be returned instead of a pointer to the Mail Group | 
|---|
| 53 | ;                   0 = No (default) | 
|---|
| 54 | ;                   1 = Yes | 
|---|
| 55 | ;Output : Value contained in OPC GENERATE MAIL GROUP field (#216) | 
|---|
| 56 | ;         of the MAS PARAMTER file (#43) - Pointer to MAIL GROUP | 
|---|
| 57 | ;         file (#3.8) | 
|---|
| 58 | ; | 
|---|
| 59 | ;Check input | 
|---|
| 60 | S RETNAME=+$G(RETNAME) | 
|---|
| 61 | ;Declare variables | 
|---|
| 62 | N NODE,PTR,NAME | 
|---|
| 63 | ;Get node value is stored on | 
|---|
| 64 | S NODE=$G(^DG(43,1,"SCLR")) | 
|---|
| 65 | ;Get pointer | 
|---|
| 66 | S PTR=+$P(NODE,"^",16) | 
|---|
| 67 | ;Return pointer to Mail Group file | 
|---|
| 68 | Q:('RETNAME) PTR | 
|---|
| 69 | ;Get name of Mail Group | 
|---|
| 70 | S NODE=$G(^XMB(3.8,PTR,0)) | 
|---|
| 71 | S NAME=$P(NODE,"^",1) | 
|---|
| 72 | ;Return name of Mail Group | 
|---|
| 73 | Q NAME | 
|---|