[613] | 1 | ORY142 ; SLC/MKB - inits for ED pre-patch OR*3*142 ;7/3/02 13:57
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**142**;Dec 17, 1997
|
---|
| 3 | ;DBIA reference section
|
---|
| 4 | ;2263 - XPAR
|
---|
| 5 | ;2058 - ^DIC(9.4,"C"
|
---|
| 6 | ;10013- DIK
|
---|
| 7 | ;10014- DIU2
|
---|
| 8 | ;10112- VASITE
|
---|
| 9 | ;10103- XLFDT
|
---|
| 10 | ;
|
---|
| 11 | PRE ; -- preinit
|
---|
| 12 | I '$O(^ORD(101.41,"AB","OR GTX EVENT",0)) D ;1st install
|
---|
| 13 | . N DIU ;remove old 100.5, 100.6 DD's
|
---|
| 14 | . F DIU="^ORYX(""ORTO"",","^ORYX(""ORPAR""," S DIU(0)="DST" D EN^DIU2
|
---|
| 15 | Q
|
---|
| 16 | ;
|
---|
| 17 | DLGSEND(X) ; -- Return true if the order dialog should be sent
|
---|
| 18 | I X="OR GTX EVENT" Q 1
|
---|
| 19 | I X="OR GXMOVE EVENT" Q 1
|
---|
| 20 | Q 0
|
---|
| 21 | ;
|
---|
| 22 | DCSEND(X) ; -- Return true if order reason should be sent
|
---|
| 23 | I X="ORDEATH" Q 1
|
---|
| 24 | I X="OROR" Q 1
|
---|
| 25 | I X="ORPASS" Q 1
|
---|
| 26 | I X="ORASIH" Q 1
|
---|
| 27 | Q 0
|
---|
| 28 | ;
|
---|
| 29 | PRMSEND(X) ; -- Return true if parameter definition should be sent
|
---|
| 30 | I X="ORWDX WRITE ORDERS EVENT LIST" Q 1
|
---|
| 31 | I X="OREVNT DEFAULT" Q 1
|
---|
| 32 | Q 0
|
---|
| 33 | ;
|
---|
| 34 | POST ; -- postinit to convert old DC parameters to file #100.6
|
---|
| 35 | ; Creates a set of rules for [primary] division
|
---|
| 36 | ;
|
---|
| 37 | Q:$O(^ORD(100.6,0)) ;not 1st install
|
---|
| 38 | N ORI,ORADMIT,ORDIS,ORTRANS,ORSPEC,ORDEATH,OROR,ORPASS,ORASIH,ORPARM,ORNOW,ORDIV,ORPKG,DIK,ORGLOB,I
|
---|
| 39 | F ORI="ORADMIT","ORDIS","ORTRANS","ORSPEC","ORDEATH","OROR","ORPASS","ORASIH" S @ORI=+$O(^ORD(100.03,"C",ORI,0))
|
---|
| 40 | D GETLST^XPAR(.ORPARM,"ALL","OR DC ON SPEC CHANGE")
|
---|
| 41 | S ORPARM("T")=$$GET^XPAR("ALL","ORPF DC OF GENERIC ORDERS")
|
---|
| 42 | S ORPARM("A")=$$GET^XPAR("ALL","OR DC GEN ORD ON ADMISSION")
|
---|
| 43 | S ORI=0,ORNOW=+$$NOW^XLFDT,ORDIV=+$$SITE^VASITE Q:ORDIV<1
|
---|
| 44 | P1 ; -- ADMISSION rule
|
---|
| 45 | S ORI=ORI+1,^ORD(100.6,ORI,0)="ADMISSION^A^"_ORDIV_U_ORADMIT_"^ADMISSION"
|
---|
| 46 | D MVTYPES(ORI,"8^9^15^18^28^29^30^36^39")
|
---|
| 47 | S ORPKG=1,ORPKG(1)=+$O(^DIC(9.4,"C","OR",0))_"^1" D PKGS(ORI,.ORPKG)
|
---|
| 48 | I ORPARM("A")<1 S ^ORD(100.6,ORI,1)=ORNOW ;inactive
|
---|
| 49 | E S ^ORD(100.6,ORI,2,0)="^100.61DA^1^1",^(1,0)=ORNOW
|
---|
| 50 | P2 ; -- SPECIALTY CHANGE rule
|
---|
| 51 | S ORI=ORI+1,^ORD(100.6,ORI,0)="SPECIALTY CHANGE^S^"_ORDIV_U_ORSPEC_"^SPECIALTY CHANGE"
|
---|
| 52 | D MVTYPES(ORI,"20"),PKGS(ORI,.ORPARM)
|
---|
| 53 | I ORPARM<1 S ^ORD(100.6,ORI,1)=ORNOW ;inactive
|
---|
| 54 | E S ^ORD(100.6,ORI,2,0)="^100.61DA^1^1",^(1,0)=ORNOW
|
---|
| 55 | P3 ; -- WARD TRANSFER rule
|
---|
| 56 | S ORI=ORI+1,^ORD(100.6,ORI,0)="WARD TRANSFER^T^"_ORDIV_U_ORTRANS_"^WARD TRANSFER"
|
---|
| 57 | D MVTYPES(ORI,"4")
|
---|
| 58 | S ORPKG=1,ORPKG(1)=+$O(^DIC(9.4,"C","OR",0))_"^1" D PKGS(ORI,.ORPKG)
|
---|
| 59 | I ORPARM("T")<1 S ^ORD(100.6,ORI,1)=ORNOW ;inactive
|
---|
| 60 | E S ^ORD(100.6,ORI,2,0)="^100.61DA^1^1",^(1,0)=ORNOW
|
---|
| 61 | P4 ; -- DISCHARGE rule
|
---|
| 62 | S ORI=ORI+1,^ORD(100.6,ORI,0)="DISCHARGE^D^"_ORDIV_U_ORDIS_"^DISCHARGE"
|
---|
| 63 | D MVTYPES(ORI,"10^11^16^17^21^27^31^32^33^34^35^37^42^46^47")
|
---|
| 64 | F I="1^OR","2^FH" S ORPKG(+I)=+$O(^DIC(9.4,"C",$P(I,U,2),0))_"^1"
|
---|
| 65 | S ORPKG=2 D PKGS(ORI,.ORPKG)
|
---|
| 66 | S ^ORD(100.6,ORI,2,0)="^100.61DA^1^1",^(1,0)=ORNOW ;active
|
---|
| 67 | P5 ; -- DEATH rule
|
---|
| 68 | S ORI=ORI+1,^ORD(100.6,ORI,0)="DEATH^D^"_ORDIV_U_ORDEATH_"^DEATH"
|
---|
| 69 | S ORPKG=4 F I="1^OR","2^FH","3^GMRC","4^RA" S ORPKG(+I)=+$O(^DIC(9.4,"C",$P(I,U,2),0))_"^1"
|
---|
| 70 | D PKGS(ORI,.ORPKG),MVTYPES(ORI,"12^38")
|
---|
| 71 | S ^ORD(100.6,ORI,2,0)="^100.61DA^1^1",^(1,0)=ORNOW ;active
|
---|
| 72 | ; ** Create the following but leave inactive for now:
|
---|
| 73 | P6 ; -- OR rule
|
---|
| 74 | S ORI=ORI+1,^ORD(100.6,ORI,0)="SURGERY^O^"_ORDIV_U_OROR_"^SURGERY"
|
---|
| 75 | S ORPKG=1,ORPKG(1)=+$O(^DIC(9.4,"C","OR",0))_"^1" D PKGS(ORI,.ORPKG)
|
---|
| 76 | S ^ORD(100.6,ORI,1)=ORNOW
|
---|
| 77 | P7 ; -- ON PASS rule
|
---|
| 78 | S ORI=ORI+1,^ORD(100.6,ORI,0)="ON PASS^T^"_ORDIV_U_ORPASS_"^ON PASS"
|
---|
| 79 | D MVTYPES(ORI,"1^2^3") S ^ORD(100.6,ORI,1)=ORNOW
|
---|
| 80 | P8 ; -- FROM PASS rule
|
---|
| 81 | S ORI=ORI+1,^ORD(100.6,ORI,0)="FROM PASS^T^"_ORDIV_U_ORPASS_"^FROM PASS"
|
---|
| 82 | D MVTYPES(ORI,"22^23^24^25^26") S ^ORD(100.6,ORI,1)=ORNOW
|
---|
| 83 | P9 ; -- TO ASIH rule
|
---|
| 84 | S ORI=ORI+1,^ORD(100.6,ORI,0)="TO ASIH^T^"_ORDIV_U_ORASIH_"^TO ASIH"
|
---|
| 85 | D MVTYPES(ORI,"13") S ^ORD(100.6,ORI,1)=ORNOW
|
---|
| 86 | P10 ; -- FROM ASIH rule
|
---|
| 87 | S ORI=ORI+1,^ORD(100.6,ORI,0)="FROM ASIH^T^"_ORDIV_U_ORASIH_"^FROM ASIH"
|
---|
| 88 | D MVTYPES(ORI,"14") S ^ORD(100.6,ORI,1)=ORNOW
|
---|
| 89 | S $P(^ORD(100.6,0),U,3,4)=ORI_U_ORI
|
---|
| 90 | S DIK="^ORD(100.6," D IXALL^DIK ;set xrefs
|
---|
| 91 | ;Set edit history for new rules
|
---|
| 92 | S ORGLOB="^ORD(100.6,"
|
---|
| 93 | S ORI=0 F S ORI=$O(^ORD(100.6,ORI)) Q:'+ORI D AUDIT^OREV(ORI,"N")
|
---|
| 94 | Q
|
---|
| 95 | ;
|
---|
| 96 | MVTYPES(IEN,TYPES) ; -- save MAS Movement Types
|
---|
| 97 | N CNT,I S CNT=$L(TYPES,U)
|
---|
| 98 | S ^ORD(100.6,IEN,3,0)="^100.63P^"_CNT_U_CNT
|
---|
| 99 | F I=1:1:CNT S ^ORD(100.6,IEN,3,I,0)=+$P(TYPES,U,I)
|
---|
| 100 | Q
|
---|
| 101 | ;
|
---|
| 102 | PKGS(IEN,PKGS) ; -- save Included Packages
|
---|
| 103 | N CNT,I S CNT=+$G(PKGS)
|
---|
| 104 | S ^ORD(100.6,IEN,7,0)="^100.67P^"_CNT_U_CNT
|
---|
| 105 | F I=1:1:CNT S ^ORD(100.6,IEN,7,I,0)=+PKGS(I)
|
---|
| 106 | Q
|
---|