| 1 | PXRMACT ; SLC/PJH - Activity File Update ;06/03/1999 | 
|---|
| 2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005 | 
|---|
| 3 | ; | 
|---|
| 4 | ; This is a bit ruff 'cos we don't have a file to update yet | 
|---|
| 5 | ; | 
|---|
| 6 | ;Initialize fields | 
|---|
| 7 | START N PXRMITEM,DFN,ADATE,ATYPE,RDATE,EDATE,STATUS,NDATE,ROLL,EPROC,AEDATE | 
|---|
| 8 | N PSEX,AAGE,DOD,AFAC,HLOC,SPEC,CSTOP,CSEX,MINAGE,MAXAGE | 
|---|
| 9 | ; | 
|---|
| 10 | ;Get patient cache items | 
|---|
| 11 | D CACHE | 
|---|
| 12 | ;Get finding items | 
|---|
| 13 | D FIND | 
|---|
| 14 | ;Update Activity file | 
|---|
| 15 | D UPD | 
|---|
| 16 | ; | 
|---|
| 17 | END Q | 
|---|
| 18 | ; | 
|---|
| 19 | ;Get Cache items | 
|---|
| 20 | ;--------------- | 
|---|
| 21 | CACHE Q | 
|---|
| 22 | ; | 
|---|
| 23 | ;Get Finding Items | 
|---|
| 24 | FIND Q | 
|---|
| 25 | ; | 
|---|
| 26 | ;Create activity record - file #801 ?? | 
|---|
| 27 | ;------------------------------------- | 
|---|
| 28 | UPD N ARRAY,DATA,DESC,IEN,STRING,SUB,TAG,FDA,FDAIEN | 
|---|
| 29 | ;Get each reminder in turn | 
|---|
| 30 | S STRING="Building activity record" | 
|---|
| 31 | D BMES^XPDUTL(STRING) | 
|---|
| 32 | ;Build FDA array | 
|---|
| 33 | K FDAIEN,FDA | 
|---|
| 34 | S FDA(801,"+1,",.01)=PXRMITEM | 
|---|
| 35 | S FDA(801,"+1,",.02)=DFN | 
|---|
| 36 | S FDA(801,"+1,",.03)=ADATE | 
|---|
| 37 | S FDA(801,"+1,",.04)=ATYPE | 
|---|
| 38 | S FDA(801,"+1,",.05)=RDATE | 
|---|
| 39 | S FDA(801,"+1,",.06)=EDATE | 
|---|
| 40 | S FDA(801,"+1,",.07)=STATUS | 
|---|
| 41 | S FDA(801,"+1,",.08)=NDATE | 
|---|
| 42 | S FDA(801,"+1,",.09)=ROLL | 
|---|
| 43 | S FDA(801,"+1,",.1)=EPROC | 
|---|
| 44 | S FDA(801,"+1,",.11)=AEDATE | 
|---|
| 45 | S FDA(801,"+1,",2.01)=PSEX | 
|---|
| 46 | S FDA(801,"+1,",2.02)=AAGE | 
|---|
| 47 | S FDA(801,"+1,",2.03)=DOD | 
|---|
| 48 | S FDA(801,"+1,",4.01)=AFAC | 
|---|
| 49 | S FDA(801,"+1,",4.02)=HLOC | 
|---|
| 50 | S FDA(801,"+1,",4.03)=SPEC | 
|---|
| 51 | S FDA(801,"+1,",4.04)=CSTOP | 
|---|
| 52 | S FDA(801,"+1,",7.01)=CSEX | 
|---|
| 53 | S FDA(801,"+1,",7.02)=MINAGE | 
|---|
| 54 | S FDA(801,"+1,",7.03)=MAXAGE | 
|---|
| 55 | ; | 
|---|
| 56 | ;Store findings multiple(s) | 
|---|
| 57 | N CNT S CNT=0 | 
|---|
| 58 | D MFDA(801.002,"?","?") | 
|---|
| 59 | D MFDA(801.002,"?","?") | 
|---|
| 60 | D MFDA(801.002,"?","?") | 
|---|
| 61 | D MFDA(801.002,"?","?") | 
|---|
| 62 | D MFDA(801.002,"?","?") | 
|---|
| 63 | ; | 
|---|
| 64 | S FDA(801,"+1,",200.1)="?" | 
|---|
| 65 | D UPDATE^DIE("","FDA","FDAIEN","MSG") | 
|---|
| 66 | I $D(MSG) D ERR | 
|---|
| 67 | Q | 
|---|
| 68 | ; | 
|---|
| 69 | MFDA(FILE,FIELD,DATA) ; | 
|---|
| 70 | I FIELD=".01" S CNT=CNT+1 | 
|---|
| 71 | S FDA(FILE,"+"_CNT_",?1,",FIELD)=DATA | 
|---|
| 72 | Q | 
|---|
| 73 | ; | 
|---|
| 74 | ;Error Handler | 
|---|
| 75 | ;------------- | 
|---|
| 76 | ERR N ERROR,IC,REF | 
|---|
| 77 | S ERROR(1)="Error in UPDATE^DIE, needs further investigation" | 
|---|
| 78 | ;Move MSG into ERROR | 
|---|
| 79 | S REF="MSG" | 
|---|
| 80 | F IC=2:1 S REF=$Q(@REF) Q:REF=""  S ERROR(IC)=REF_"="_@REF | 
|---|
| 81 | ;Screen message | 
|---|
| 82 | D BMES^XPDUTL(.ERROR) | 
|---|
| 83 | ;Mail Message - this should become a standard facility | 
|---|
| 84 | ;D ERR^PXRMPV1E(.ERROR) | 
|---|
| 85 | Q | 
|---|