1 | PXRMLPHS ; SLC/PJH,PKR - Run Health Summaries from Patient List ;08/08/2005
|
---|
2 | ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
|
---|
3 | ;
|
---|
4 | ;External Ref DBIA #398
|
---|
5 | ;
|
---|
6 | HSA(LISTIEN) ;Run health summary for all patients on this patient list.
|
---|
7 | N HSIEN,PLNODE
|
---|
8 | ;Initialise
|
---|
9 | D FULL^VALM1
|
---|
10 | ;Reset screen mode
|
---|
11 | W IORESET
|
---|
12 | ;
|
---|
13 | ;Select Health Summary
|
---|
14 | D HSEL(.HSIEN) Q:$D(DTOUT)!$D(DUOUT)
|
---|
15 | ;
|
---|
16 | S PLNODE="PXRMLPHS"_$J_$$NOW^XLFDT
|
---|
17 | K ^XTMP(PLNODE)
|
---|
18 | S ^XTMP(PLNODE,0)=$$FMADD^XLFDT(DT,2)_U_DT_"HSI LIST"
|
---|
19 | D SORT(LISTIEN,PLNODE)
|
---|
20 | D QUE(HSIEN,PLNODE)
|
---|
21 | Q
|
---|
22 | ;
|
---|
23 | HSEL(IEN) ;Select Health Summary Type
|
---|
24 | N X,Y,DIC
|
---|
25 | HS1 S DIC=142,DIC(0)="QAEMZ"
|
---|
26 | S DIC("A")="Select HEALTH SUMMARY TYPE: "
|
---|
27 | W !
|
---|
28 | D ^DIC
|
---|
29 | I X="" W !,"A health summary type name must be entered" G HS1
|
---|
30 | I X=(U_U) S DTOUT=1
|
---|
31 | I Y=-1 S DUOUT=1
|
---|
32 | I $D(DTOUT)!$D(DUOUT) Q
|
---|
33 | ;Return HS ien
|
---|
34 | S IEN=$P(Y,U)
|
---|
35 | Q
|
---|
36 | ;
|
---|
37 | HSI(PLNODE) ;Print health summary for selected patients.
|
---|
38 | N HSIEN
|
---|
39 | ;Initialise
|
---|
40 | D FULL^VALM1
|
---|
41 | ;Reset screen mode
|
---|
42 | W IORESET
|
---|
43 | ;
|
---|
44 | ;Select Health Summary
|
---|
45 | D HSEL(.HSIEN) Q:$D(DTOUT)!$D(DUOUT)
|
---|
46 | D QUE(HSIEN,PLNODE)
|
---|
47 | Q
|
---|
48 | ;
|
---|
49 | PRINT(HSIEN,PLNODE) ;Print HS for Patient List IEN
|
---|
50 | N DFN,DIROUT,SUB
|
---|
51 | ;Print HS for each patient
|
---|
52 | S SUB=0
|
---|
53 | F S SUB=$O(^XTMP(PLNODE,SUB)) Q:(SUB="")!$D(DIROUT) D
|
---|
54 | .S DFN=^XTMP(PLNODE,SUB)
|
---|
55 | .D ENX^GMTSDVR(DFN,HSIEN,"","") ; DBIA #398
|
---|
56 | ;
|
---|
57 | ;Clear workfile
|
---|
58 | K ^XTMP(PLNODE)
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | QUE(HSIEN,PLNODE) ;Determine whether the report should be queued.
|
---|
62 | N PXRMQUE,RETZTSK,%ZIS,ZTDESC,ZTRTN,ZTSK,ZTSAVE
|
---|
63 | S %ZIS="M"
|
---|
64 | S ZTDESC="Patient List Health Summaries - print"
|
---|
65 | S ZTRTN="PRINT^PXRMLPHS(HSIEN,PLNODE)"
|
---|
66 | S ZTSAVE("HSIEN")=""
|
---|
67 | S ZTSAVE("PLNODE")=""
|
---|
68 | S RETZTSK=1
|
---|
69 | S PXRMQUE=$$DEVICE^PXRMXQUE(ZTRTN,ZTDESC,.ZTSAVE,.%ZIS,.RETZTSK)
|
---|
70 | S VALMBCK="R"
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | SORT(LISTIEN,PLNODE) ;Sort workfile as required
|
---|
74 | N DATA,DFN,IND,PNAME
|
---|
75 | ;Build the list in alphabetical order.
|
---|
76 | S IND=0
|
---|
77 | F S IND=$O(^PXRMXP(810.5,LISTIEN,30,IND)) Q:'IND D
|
---|
78 | .S DATA=$G(^PXRMXP(810.5,LISTIEN,30,IND,0)) Q:DATA=""
|
---|
79 | .S DFN=$P(DATA,U) Q:'DFN
|
---|
80 | .;DBIA #10035
|
---|
81 | .S PNAME=$P(^DPT(DFN,0),U,1) Q:PNAME=""
|
---|
82 | .S ^XTMP(PLNODE,PNAME)=DFN
|
---|
83 | Q
|
---|
84 | ;
|
---|