| 1 | PXCEDATE ;ISL/dee - Used for things related to Date and Time ;6/20/96
|
|---|
| 2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**47,161**;Aug 12, 1996
|
|---|
| 3 | ;; ;
|
|---|
| 4 | Q
|
|---|
| 5 | ;
|
|---|
| 6 | NEWDATE ;
|
|---|
| 7 | D ASKDATE(.PXCEDBEG,.PXCEDEND)
|
|---|
| 8 | D DATE9S
|
|---|
| 9 | D MAKELIST^PXCENEW
|
|---|
| 10 | Q
|
|---|
| 11 | ;
|
|---|
| 12 | ASKDATE(DBEG,DEND) ;
|
|---|
| 13 | N NEWDBEG,NEWDEND
|
|---|
| 14 | S NEWDBEG=$P($$EDATE("",DBEG),".")
|
|---|
| 15 | Q:NEWDBEG<0
|
|---|
| 16 | S NEWDEND=$P($$LDATE("",DEND),".")
|
|---|
| 17 | Q:NEWDEND<0
|
|---|
| 18 | S DBEG=$S(NEWDBEG>0:NEWDBEG,1:DBEG)
|
|---|
| 19 | S DEND=$S(NEWDEND>0:NEWDEND,1:DEND)
|
|---|
| 20 | I DEND<DBEG S NEWDBEG=DEND,DEND=DBEG,DBEG=NEWDBEG
|
|---|
| 21 | ;D DATE9S This must be called by the caller if it is wanted.
|
|---|
| 22 | Q
|
|---|
| 23 | ;
|
|---|
| 24 | EDATE(PRMPT,DFLT) ; Get early date
|
|---|
| 25 | N %DT,X,Y
|
|---|
| 26 | S %DT="AEX"
|
|---|
| 27 | S %DT("A")=" Start "_$S($L($G(PRMPT)):PRMPT_" ",1:"")_"Date: "
|
|---|
| 28 | S %DT("B")=$S($L($G(DFLT)):$$FMTE^XLFDT(DFLT,5),1:"T-30")
|
|---|
| 29 | D ^%DT
|
|---|
| 30 | Q Y
|
|---|
| 31 | ;
|
|---|
| 32 | LDATE(PRMPT,DFLT) ; Get late date
|
|---|
| 33 | N %DT,X,Y
|
|---|
| 34 | S %DT="AEX"
|
|---|
| 35 | S %DT("A")="Ending "_$S($L($G(PRMPT)):PRMPT_" ",1:"")_"Date: "
|
|---|
| 36 | S %DT("B")=$S($L($G(DFLT)):$$FMTE^XLFDT(DFLT,5),1:"TODAY")
|
|---|
| 37 | D ^%DT
|
|---|
| 38 | Q Y
|
|---|
| 39 | ;
|
|---|
| 40 | DATE9S ;
|
|---|
| 41 | S PXCE9END=9999999-PXCEDEND
|
|---|
| 42 | S PXCE9BEG=9999999-PXCEDBEG+.999999
|
|---|
| 43 | S SDBEG=PXCEDBEG
|
|---|
| 44 | S SDEND=PXCEDEND
|
|---|
| 45 | Q
|
|---|
| 46 | ;
|
|---|
| 47 | DATE(INDATE) ;Change internal date to an external date.
|
|---|
| 48 | N OUTDATE,AT
|
|---|
| 49 | Q:INDATE'>0 ""
|
|---|
| 50 | S OUTDATE=$$FMTE^XLFDT(INDATE,5)
|
|---|
| 51 | S AT=$F(OUTDATE,"@")
|
|---|
| 52 | Q $E(OUTDATE,1,(AT-2))_" "_$P($E(OUTDATE,AT,99),":",1,2)
|
|---|
| 53 | ;
|
|---|