[613] | 1 | VAQUTL95 ;ALB/JFP/JRP - SETS COMMONLY USED VARIABLES;01-APR-93
|
---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
|
---|
| 3 | ;
|
---|
| 4 | STATPTR ; -- Sets PDX status pointers
|
---|
| 5 | S (VAQRSLT,VAQUNSOL)=""
|
---|
| 6 | S VAQRSLT=$O(^VAT(394.85,"B","VAQ-RSLT",VAQRSLT))
|
---|
| 7 | S VAQUNSOL=$O(^VAT(394.85,"B","VAQ-UNSOL",VAQUNSOL))
|
---|
| 8 | QUIT
|
---|
| 9 | ;
|
---|
| 10 | PAUSE ; -- Pauses the screen
|
---|
| 11 | W ! S DIR(0)="EA",DIR("A")="Press RETURN to continue:" D ^DIR K DIR W !
|
---|
| 12 | QUIT
|
---|
| 13 | ;
|
---|
| 14 | END ; -- End of code
|
---|
| 15 | QUIT
|
---|
| 16 | ;
|
---|
| 17 | IMPDTE(XMITDATE) ;CHECK DATE USED IN PDX TRANSMISSIONS FOR PRECISENESS
|
---|
| 18 | ;INPUT : XMITDATE - Date in format MM-DD-YYYY
|
---|
| 19 | ;OUTPUT : N - If date is precise, MM-DD-YYYY (what was sent)
|
---|
| 20 | ; If date is not precise
|
---|
| 21 | ; MM--YYYY if day is not precise
|
---|
| 22 | ; YYYY if month is not precise
|
---|
| 23 | ; -1 - Bad input
|
---|
| 24 | ;
|
---|
| 25 | ;CHECK INPUT
|
---|
| 26 | Q:($G(XMITDATE)="") -1
|
---|
| 27 | Q:(XMITDATE'?2N1"-"2N1"-"4N) -1
|
---|
| 28 | ;DECLARE VARIABLES
|
---|
| 29 | N MONTH,DAY,YEAR
|
---|
| 30 | ;GET PIECES OF DATE
|
---|
| 31 | S MONTH=$P(XMITDATE,"-",1)
|
---|
| 32 | S DAY=$P(XMITDATE,"-",2)
|
---|
| 33 | S YEAR=$P(XMITDATE,"-",3)
|
---|
| 34 | ;YEAR IS IMPRECISE (ERROR)
|
---|
| 35 | Q:('(+YEAR)) -1
|
---|
| 36 | ;MONTH NOT PRECISE
|
---|
| 37 | Q:('(+MONTH)) YEAR
|
---|
| 38 | ;DAY NOT PRECISE
|
---|
| 39 | Q:('(+DAY)) (MONTH_"--"_YEAR)
|
---|
| 40 | ;DATE IS PRECISE
|
---|
| 41 | Q XMITDATE
|
---|
| 42 | ;
|
---|
| 43 | AMPMTIME(XMITTIME) ;PLACE AM/PM ON END OF TIME USED IN PDX TRANSMISSIONS
|
---|
| 44 | ;INPUT : XMITTIME - Time in format hh:mm:ss (seconds optional)
|
---|
| 45 | ;OUTPUT : N - XMITTIME concatenated with AM or PM
|
---|
| 46 | ; If time falls between midnight and noon, AM is used
|
---|
| 47 | ; If time falls between noon and midnight, PM is used
|
---|
| 48 | ; -1 - Bad input
|
---|
| 49 | ;NOTES : If seconds are not included, 00 will be used
|
---|
| 50 | ; : If time is exactly midnight, AM is used
|
---|
| 51 | ; : If time is exactly noon, PM is used
|
---|
| 52 | ; : If time is between 00:00:00 and 00:00:59, 00:01:00 will
|
---|
| 53 | ; be used as the input time (FileMan has problem with it)
|
---|
| 54 | ; : Time between midnight and one AM will return 12AM
|
---|
| 55 | ;
|
---|
| 56 | ;CHECK INPUT
|
---|
| 57 | Q:($G(XMITTIME)="") -1
|
---|
| 58 | S:(XMITTIME?2N1":"2N) XMITTIME=XMITTIME_":00"
|
---|
| 59 | S:(XMITTIME?2N1":"2N1":") XMITTIME=XMITTIME_"00"
|
---|
| 60 | Q:(XMITTIME'?2N1":"2N1":"2N) -1
|
---|
| 61 | S:(XMITTIME?1"00:00:"2N) XMITTIME="00:01:00"
|
---|
| 62 | ;DECLARE VARIABLES
|
---|
| 63 | N HOUR,OUTPUT
|
---|
| 64 | S HOUR=+$P(XMITTIME,":",1)
|
---|
| 65 | S OUTPUT=-1
|
---|
| 66 | ;MIDNIGHT TO NOON (AM) - CONVERT 00 AM TO 12 AM
|
---|
| 67 | I (HOUR<12) D
|
---|
| 68 | .S:('HOUR) OUTPUT="12:"_$P(XMITTIME,":",2,3)_"AM"
|
---|
| 69 | .S:(HOUR) OUTPUT=XMITTIME_"AM"
|
---|
| 70 | ;NOON TO MIDNIGHT (PM)
|
---|
| 71 | S:(HOUR>11) OUTPUT=XMITTIME_"PM"
|
---|
| 72 | Q OUTPUT
|
---|
| 73 | ;
|
---|
| 74 | CHCKDT(XMITDT) ;CHECK DATE AND TIME OF PDX TRANSMISSION
|
---|
| 75 | ;INPUT : XMITDT - Date and time of transmission
|
---|
| 76 | ; MM-DD-YYYY@hh:mm:ss
|
---|
| 77 | ;OUTPUT : N - Date and time in acceptable FimeMan format
|
---|
| 78 | ; -1 - Bad input/error
|
---|
| 79 | ;NOTES : Refer to $$IMPDTE for date check
|
---|
| 80 | ; : Refer to $$AMPMTIME for time check
|
---|
| 81 | ;
|
---|
| 82 | ;CHECK INPUT
|
---|
| 83 | Q:($G(XMITDT)="") -1
|
---|
| 84 | ;DECLARE VARIABLES
|
---|
| 85 | N DATE,TIME
|
---|
| 86 | S DATE=$$IMPDTE($P(XMITDT,"@",1))
|
---|
| 87 | Q:(DATE="-1") -1
|
---|
| 88 | S TIME=$$AMPMTIME($P(XMITDT,"@",2))
|
---|
| 89 | Q:(TIME="-1") -1
|
---|
| 90 | Q (DATE_"@"_TIME)
|
---|