| 1 | ORCPOST ; slc/dcm,MKB - CPRS post-init ;10/25/97  16:13 | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;;Dec 17, 1997 | 
|---|
| 3 | EN ;-- Post-init cleanup | 
|---|
| 4 | D POSTORLP^ORLP3C1,POSTORB^ORB3C1 ; User Parameters, Notifications | 
|---|
| 5 | D BMES^XPDUTL("Cleaning up unused data and fields ...") | 
|---|
| 6 | K ^ORYX("ORERR") S ^ORYX("ORERR",0)="OE/RR ERRORS^100.4D^^" | 
|---|
| 7 | D 22,19,101,P49,200,DGPM,ZIS | 
|---|
| 8 | Q | 
|---|
| 9 | ; | 
|---|
| 10 | 22 ;Set print 0th node | 
|---|
| 11 | S $P(^ORD(100.22,0),"^",3)="" | 
|---|
| 12 | ;S $P(^ORD(100.23,0),"^",3)="" | 
|---|
| 13 | D RECMPL^ORPR00 | 
|---|
| 14 | Q | 
|---|
| 15 | 19 ;Clean-up old entry & exit actions in Option file | 
|---|
| 16 | N IFN,ENT,EX | 
|---|
| 17 | S IFN=0 F  S IFN=$O(^DIC(19,IFN)) Q:IFN<1  S ENT=$G(^(IFN,20)),EX=$G(^(15)) D | 
|---|
| 18 | . I ENT["D TIT^OR",$P(ENT,"D TIT^",2)="OR" S ^DIC(19,IFN,20)="" | 
|---|
| 19 | . I ENT["D EN^OR",$P(ENT,"D EN^",2)="OR" S ^DIC(19,IFN,20)="D ^ORCHART" | 
|---|
| 20 | . I EX="D EXIT^OR" S ^DIC(19,IFN,15)="" | 
|---|
| 21 | Q | 
|---|
| 22 | 101 ;Clean-up old entry actions in Protocol file | 
|---|
| 23 | N IFN,ENT | 
|---|
| 24 | S IFN=0 F  S IFN=$O(^ORD(101,IFN)) Q:IFN<1  S ENT=$G(^(IFN,20)) D | 
|---|
| 25 | . I ENT["^OR3" S ^ORD(101,IFN,20)="" Q | 
|---|
| 26 | Q | 
|---|
| 27 | 200 ;Clean-up unused data and fields in file 200 | 
|---|
| 28 | N DA,DIK,IFN | 
|---|
| 29 | S IFN=0 F  S IFN=$O(^VA(200,IFN)) Q:IFN<1  D | 
|---|
| 30 | . I $D(^VA(200,IFN,100.1)) K ^(100.1) | 
|---|
| 31 | . I $D(^VA(200,IFN,100.2)) K ^(100.2) | 
|---|
| 32 | S DIK="^DD(200,",DA=100.21,DA(1)=200 D ^DIK ;Remove Summary Default | 
|---|
| 33 | S DIK="^DD(200,",DA=100.22,DA(1)=200 D ^DIK ;Remove Patient List Order | 
|---|
| 34 | S DIK="^DD(200,",DA=100.23,DA(1)=200 D ^DIK ;Remove Default Result Reporting | 
|---|
| 35 | S DIK="^DD(200,",DA=100.24,DA(1)=200 D ^DIK ;Remove Primary Profile Menu | 
|---|
| 36 | S DIK="^DD(200,",DA=100.25,DA(1)=200 D ^DIK ;Remove Provider List | 
|---|
| 37 | S DIK="^DD(200,",DA=100.26,DA(1)=200 D ^DIK ;Remove Specialty List | 
|---|
| 38 | S DIK="^DD(200,",DA=100.27,DA(1)=200 D ^DIK ;Remove New Orders Default | 
|---|
| 39 | S DIK="^DD(200,",DA=100.11,DA(1)=200 D ^DIK ;Remove Primary OE/RR Menu | 
|---|
| 40 | S DIK="^DD(200,",DA=100.12,DA(1)=200 D ^DIK ;Remove Primary Order Menu | 
|---|
| 41 | S DIK="^DD(200,",DA=100.13,DA(1)=200 D ^DIK ;Remove Primary Order Display | 
|---|
| 42 | S DIK="^DD(200,",DA=100.14,DA(1)=200 D ^DIK ;Remove Ward List | 
|---|
| 43 | S DIK="^DD(200,",DA=100.15,DA(1)=200 D ^DIK ;Remove Patient List | 
|---|
| 44 | S DIK="^DD(200,",DA=100.16,DA(1)=200 D ^DIK ;Remove Selectpat | 
|---|
| 45 | S DIK="^DD(200,",DA=100.17,DA(1)=200 D ^DIK ;Remove Clinic List | 
|---|
| 46 | S DIK="^DD(200,",DA=100.18,DA(1)=200 D ^DIK ;Remove Clinic Appointment Start | 
|---|
| 47 | S DIK="^DD(200,",DA=100.19,DA(1)=200 D ^DIK ;Remove Clinic Appointment Stop | 
|---|
| 48 | Q | 
|---|
| 49 | ; | 
|---|
| 50 | DGPM ; -- Replace OR items on DGPM MOVEMENT EVENTS | 
|---|
| 51 | N DGPM,DIK,DA,DIC,DLAYGO,X,Y,ORDITEM,ORTASK,ORNOTASK,ORD,DONE | 
|---|
| 52 | S DGPM=+$O(^ORD(101,"B","DGPM MOVEMENT EVENTS",0)) Q:'DGPM | 
|---|
| 53 | F X=""," NOTASK" S Y=+$O(^ORD(101,"B","OR GUA EVENT PROCESSOR"_X,0)) I Y,$O(^ORD(101,"AD",Y,DGPM,0)) S DONE=1 Q  ; already added | 
|---|
| 54 | Q:$G(DONE)  S DA(1)=DGPM,DIK="^ORD(101,"_DGPM_",10," | 
|---|
| 55 | F ORDITEM="GENERIC ORDERS","GEN ORD ON TRANS" D | 
|---|
| 56 | . S ORD=$O(^ORD(101,"B","OR GUA DC "_ORDITEM,0)) Q:'ORD | 
|---|
| 57 | . S DA=$O(^ORD(101,"AD",ORD,DGPM,0)) I DA D ^DIK S ORTASK=1 | 
|---|
| 58 | . S ORD=$O(^ORD(101,"B","OR GUA DC "_ORDITEM_" NOTASK",0)) Q:'ORD | 
|---|
| 59 | . S DA=$O(^ORD(101,"AD",ORD,DGPM,0)) I DA D ^DIK S ORNOTASK=1 | 
|---|
| 60 | S DIC=DIK,DIC(0)="L",DLAYGO=101,DIC("P")=$P(^DD(101,10,0),U,2),DIC("DR")="3///999",X=+$O(^ORD(101,"B","OR GUA EVENT PROCESSOR"_$S($G(ORNOTASK):" NOTASK",1:""),0)) K Y | 
|---|
| 61 | D:X FILE^DICN I +$G(Y)'>0 D BMES^XPDUTL(">>> Unable to add OR GUA EVENT PROCESSOR protocol to DGPM MOVEMENT EVENTS") | 
|---|
| 62 | Q | 
|---|
| 63 | ; | 
|---|
| 64 | P49 ; -- Ck stuff in patch 49 (do, if clean install) | 
|---|
| 65 | I $O(^ORD(101.43,0)) D OI^ORSETUP1 ;      Ck quick order ptrs only | 
|---|
| 66 | I '$O(^ORD(101.43,0)) D ORDITMS^ORSETUP ;  or populate whole file | 
|---|
| 67 | D BMES^XPDUTL("Populating Parameters file ..."),^ORXPAR | 
|---|
| 68 | I '$P($G(^ORD(100.99,1,200)),U,2) D  ;    [re]convert patch 49 stuff | 
|---|
| 69 | . D ^ORPFCNVT,PARM^RAO7MFN ;              Update package parameters | 
|---|
| 70 | . D DGROUPS^ORSETUP ;                     Add new fields to #100.98 | 
|---|
| 71 | . D URG^ORSETUP ;                         Add Consult urgencies | 
|---|
| 72 | . K ^ORD(100.99,1,101),^(101.41),^(200) D DIALOGS^ORSETUP ; #101->101.41 | 
|---|
| 73 | S $P(^ORD(100.99,1,200),U,2)=1 ; Done. | 
|---|
| 74 | Q | 
|---|
| 75 | ; | 
|---|
| 76 | ZIS ; -- Add OR WORKSTATION and resource devices | 
|---|
| 77 | N DA,DIC,DIE,DLAYGO,X,Y | 
|---|
| 78 | S DIC(0)="LQMZ",(DIC,DLAYGO)=3.5,X="OR WORKSTATION" D ^DIC | 
|---|
| 79 | I Y,$P(Y,"^",3) D  ; if newly added | 
|---|
| 80 | . S DA=+Y,DIE=DIC | 
|---|
| 81 | . S DR=".02///^S X=""OR Workstation HFS Device"";1///^S X=""ORDEV.DAT""" | 
|---|
| 82 | . S DR=DR_";1.95////0;2///^S X=""HFS"";4////0;5////0;5.1////0;5.2////0" | 
|---|
| 83 | . S DR=DR_";3///^S X=""`""_"_$$SUBTYPE^ORCPOST() | 
|---|
| 84 | . D ^DIE | 
|---|
| 85 | ; | 
|---|
| 86 | S X=$$RES^XUDHSET("ORW/PXAPI RESOURCE",,5,"CPRS to PCE transactions") | 
|---|
| 87 | S X=$$RES^XUDHSET("ORB NOTIFICATION RESOURCE",,5,"OE/RR notifications") | 
|---|
| 88 | S X=$$RES^XUDHSET("OR MOVEMENT RESOURCE",,5,"OR movement event process") | 
|---|
| 89 | Q | 
|---|
| 90 | ; | 
|---|
| 91 | SUBTYPE() ; get subtype for P-OTHER | 
|---|
| 92 | N DIC,X | 
|---|
| 93 | S DIC(0)="QMXZ",DIC="^%ZIS(2,",X="P-OTHER" D ^DIC | 
|---|
| 94 | Q +Y | 
|---|