Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: APCHS85

APCHS85.m

Go to the documentation of this file.
  1. APCHS85 ; IHS/CMI/LAB - PART 8 OF APCHS -- SUMMARY PRODUCTION COMPONENTS ;
  1. ;;2.0;IHS PCC SUITE;**2,7,10,11**;MAY 14, 2009;Build 58
  1. ;
  1. ;
  1. REPHX ; ********** REPRODUCTIVE HISTORY * 9000017 **********
  1. ; <SETUP>
  1. Q:$P(^DPT(APCHSPAT,0),U,2)'="F"
  1. Q:'$D(^AUPNREP(APCHSPAT))
  1. S APCHSN=^AUPNREP(APCHSPAT,0)
  1. I $D(^DD(9000017,2101)) D NEWREP G REPHXX
  1. ; <DISPLAY>
  1. X APCHSCKP Q:$D(APCHSQIT) X:'APCHSNPG APCHSBRK
  1. S X=$P(APCHSN,U,2) I X]"" W X S APCHSP=3 D DTOBT W " "
  1. S X=$P(APCHSN,U,4) S:X="" X="<not recorded>" S Y=X X:+X APCHSCVD W "LMP ",Y S APCHSP=5 D DTOBT W !
  1. S X=$$VAL^XBDIQ1(9000017,APCHSPAT,2.01) W "LACTATION STATUS: ",X W:X]"" " (obtained "_$$DATE^APCHSMU($P($G(^AUPNREP(APCHSPAT,2)),U,2)) W !
  1. ;S X=$P(APCHSN,U,6) I X]"" S Y=$P(^DD(9000017,3,0),U,3),X=$P(Y,";",X+1) S APCHSM=$P(X,":",2) X APCHSCKP G:$D(APCHSQIT) REPHXX W "CONTRACEPTION: ",APCHSM S X=$P(APCHSN,U,7) X:+X "S Y=X X APCHSCVD W "", EFFECTIVE "",Y" S APCHSP=8 D DTOBT W !
  1. ;S X=$P(APCHSN,U,9) I X]"" X APCHSCKP G:$D(APCHSQIT) REPHXX D EDC
  1. D LATER
  1. REPHXX K APCHSN,APCHSM,APCHSN11
  1. Q
  1. ;
  1. NEWREP ;new reproductive factors dd
  1. S APCHSN11=$G(^AUPNREP(APCHSPAT,0))
  1. X APCHSCKP Q:$D(APCHSQIT) X:'APCHSNPG APCHSBRK
  1. S X=$$RHX^AUPNREP(APCHSPAT) I X]"" W !,"Reproductive History: ",!?2,$P(X,";",1,4),";",!?3,$P(X,";",5,7),!?3,";",$P(X,";",8,99),! ;S APCHSP=30 D DTOBT11
  1. X APCHSCKP Q:$D(APCHSQIT) ;X:'APCHSNPG APCHSBRK
  1. S X=$P(APCHSN,U,4) I X]"" W "LMP: " S Y=X X APCHSCVD W Y S APCHSP=5 D DTOBT W !
  1. S X=$$VAL^XBDIQ1(9000017,APCHSPAT,2.01) W "LACTATION STATUS: ",X W:X]"" " (obtained "_$$DATE^APCHSMU($P($G(^AUPNREP(APCHSPAT,2)),U,2)),")" W !
  1. ;S X=$P(APCHSN,U,6) I X]"" S Y=$P(^DD(9000017,3,0),U,3),X=$P(Y,";",X+1) S APCHSM=$P(X,":",2) X APCHSCKP G:$D(APCHSQIT) REPHXX W "CONTRACEPTION: ",APCHSM S X=$P(APCHSN,U,7) X:+X "S Y=X X APCHSCVD W "", EFFECTIVE "",Y" S APCHSP=8 D DTOBT W !
  1. D LATER
  1. Q:$D(APCHSQIT)
  1. D EDC
  1. Q
  1. ;
  1. LATER ;
  1. ;TABLE ALL CONTRACEPTIVE HX BY DATE BEGUN, IF NO DATE BEGUN PUT AT TOP
  1. ;IF NOTHING IN 21 MULTIPLE THEN DISPLAY SINGLE VALUED FIELDSD
  1. I '$O(^AUPNREP(APCHSPAT,2101,0)) D SINGLE Q
  1. NEW APCHCM,APCHX,APCHC,APCHDB,APCHM
  1. S APCHX=0 F S APCHX=$O(^AUPNREP(APCHSPAT,2101,APCHX)) Q:APCHX'=+APCHX D
  1. .Q:$P($G(^AUPNREP(APCHSPAT,2101,APCHX,1)),U,1)]"" ;DELETED
  1. .S APCHC=$P(^AUPNREP(APCHSPAT,2101,APCHX,0),U,1)
  1. .Q:'APCHC
  1. .S APCHDB=$P(^AUPNREP(APCHSPAT,2101,APCHX,0),U,2)
  1. .S APCHDE=$P(^AUPNREP(APCHSPAT,2101,APCHX,0),U,3)
  1. .Q:APCHDE]"" ;don't display history
  1. .S APCHDB=+APCHDB
  1. .S APCHCM((9999999-APCHDB),APCHX)=$$VAL^XBDIQ1(99999.11,APCHC,.01)_U_APCHDE_U_APCHDB
  1. .Q
  1. X APCHSCKP Q:$D(APCHSQIT) ;X:'APCHSNPG APCHSBRK
  1. W !,"CURRENT CONTRACEPTION METHODS",!?3,"Contraceptive Method",?37,"Date Started",! ;,?50,"Date Ended"
  1. S APCHDB="" F S APCHDB=$O(APCHCM(APCHDB)) Q:APCHDB=""!($D(APCHSQIT)) D
  1. .S APCHX=0 F S APCHX=$O(APCHCM(APCHDB,APCHX)) Q:APCHX'=+APCHX!($D(APCHSQIT)) D
  1. ..X APCHSCKP Q:$D(APCHSQIT)
  1. ..W ?5,$P(APCHCM(APCHDB,APCHX),U,1)
  1. ..S Y=$P(APCHCM(APCHDB,APCHX),U,3) I Y X APCHSCVD W ?37,Y
  1. ..;S Y=$P(APCHCM(APCHDB,APCHX),U,2) I Y]"" X APCHSCVD W ?50,Y
  1. ..S Y=$P(^AUPNREP(APCHSPAT,2101,APCHX,0),U,4) W:Y]"" ?55,"(obtained "_$$DATE^APCHSMU(Y)_")" W !
  1. ..;W !
  1. ..I $P(^AUPNREP(APCHSPAT,2101,APCHX,0),U,6)]"" W ?10,$P(^AUPNREP(APCHSPAT,2101,APCHX,0),U,6),!
  1. ..I $P(^AUPNREP(APCHSPAT,2101,APCHX,0),U,5)]"" W ?5,"Reason Discontinued: "_$P(^AUPNREP(APCHSPAT,2101,APCHX,0),U,5),!
  1. Q
  1. SINGLE ;
  1. S X=$P(APCHSN,U,6) I X]"" S Y=$P(^DD(9000017,3,0),U,3),X=$P(Y,";",X+1) S APCHSM=$P(X,":",2) X APCHSCKP G:$D(APCHSQIT) REPHXX W "CONTRACEPTION: ",APCHSM S X=$P(APCHSN,U,7) X:+X "S Y=X X APCHSCVD W "", EFFECTIVE "",Y" S APCHSP=8 D DTOBT W !
  1. Q
  1. DTOBT11 S Y=$P(APCHSN11,U,APCHSP) I Y]"" X APCHSCVD W " (obtained ",Y,")"
  1. Q
  1. DTOBT S Y=$P(APCHSN,U,APCHSP) I Y]"" X APCHSCVD W " (obtained ",Y,")"
  1. Q
  1. ;
  1. EDC ;S Y=$P(APCHSN,U,9)
  1. ;X APCHSCVD W "*** NOTE: EDC ",Y S APCHSP=11 D DTOBT
  1. ;I X<DT W " -- OUTDATED!"
  1. ;E S X=$P(APCHSN,U,10),APCHSM="UNKNOWN METHOD" S:X Y=$P(^DD(9000017,4.05,0),U,3),X=$P(Y,";",X+1),APCHSM=$P(X,":",2) W " BY ",APCHSM
  1. ;W !
  1. I $G(APCHAEDD) D ALLEDD Q
  1. NEW APCHDEDD,APCHDEDT,APCHDOBT,APCHBY
  1. S APCHDEDD=$$VALI^XBDIQ1(9000017,APCHSPAT,1311)
  1. I APCHDEDD]"" D Q
  1. .;I APCHDEDD="L" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1302),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1303)
  1. .;I APCHDEDD="U" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1305),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1306)
  1. .;I APCHDEDD="C" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1308),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1309)
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W "***NOTE: Definitive EDD: ",$$DATE^APCHSMU(APCHDEDD)," (obtained ",$$DATE^APCHSMU($P($P($G(^AUPNREP(APCHSPAT,13)),U,12),".")),")" ;
  1. .I APCHDEDD<$$FMADD^XLFDT(DT,-14) W " -- OUTDATED!"
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W !
  1. .I $P($G(^AUPNREP(APCHSPAT,15)),U,2)]"" W "Comment: ",$P(^AUPNREP(APCHSPAT,15),U,2)
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W !
  1. ;no definitive EDD so print latest of the 4 values
  1. ;
  1. S APCHDOBT="",APCHBY="",APCHDEDT=""
  1. I $$VAL^XBDIQ1(9000017,APCHSPAT,1302)]"" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1302),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1303),APCHBY="LMP"
  1. I $$VAL^XBDIQ1(9000017,APCHSPAT,1305)]"",$$VALI^XBDIQ1(9000017,APCHSPAT,1306)>APCHDOBT S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1305),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1306),APCHBY="ULTRASOUND"
  1. I $$VAL^XBDIQ1(9000017,APCHSPAT,1308)]"",$$VALI^XBDIQ1(9000017,APCHSPAT,1309)>APCHDOBT S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1308),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1309),APCHBY="CLINICAL PARAMETERS"
  1. I $$VAL^XBDIQ1(9000017,APCHSPAT,1314)]"",$$VALI^XBDIQ1(9000017,APCHSPAT,1315)>APCHDOBT S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1314),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1315),APCHBY="UNKNOWN METHOD"
  1. I APCHDEDT]"" D
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W "***NOTE: EDD: ",$$DATE^APCHSMU(APCHDEDT)," (obtained ",$$DATE^APCHSMU(APCHDOBT),") BY ",APCHBY
  1. .I APCHDEDT<$$FMADD^XLFDT(DT,-14) W " -- OUTDATED!"
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W !
  1. .S F=$S(APCHBY="LMP":1401,APCHBY="ULTRASOUND":1402,APCHBY="CLINICAL PARAMETERS":1501,1:"1601")
  1. .I $$VAL^XBDIQ1(9000017,APCHSPAT,F)]"" W "Comment: ",$$VAL^XBDIQ1(9000017,APCHSPAT,F)
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W !
  1. Q
  1. ;
  1. REPEDDHX ;EP - REPRODUCTIVE HISTORY - ALL EDDS
  1. S APCHAEDD=1
  1. D REPHX
  1. K APCHAEDD
  1. Q
  1. ;
  1. ALLEDD ;
  1. ;print all EDDs with data
  1. ;1311, 1314, 1302, 1305, 1308
  1. NEW APCHDEDD,APCHDEDT,APCHDOBT,APCHBY
  1. S APCHDEDD=$$VALI^XBDIQ1(9000017,APCHSPAT,1311)
  1. I APCHDEDD]"" D
  1. .;I APCHDEDD="L" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1302),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1303)
  1. .;I APCHDEDD="U" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1305),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1306)
  1. .;I APCHDEDD="C" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1308),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1309)
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W "***NOTE: Definitive EDD: ",$$DATE^APCHSMU(APCHDEDD)," (obtained ",$$DATE^APCHSMU($P($P($G(^AUPNREP(APCHSPAT,13)),U,12),".")),")" ; BY ",$S(APCHDEDD="L":"LMP",APCHDEDD="U":"ULTRASOUND",APCHDEDD="C":"CLINICAL PARAMETERS",1:"UNKNOWN METHOD")
  1. .I APCHDEDD<$$FMADD^XLFDT(DT,-14) W " -- OUTDATED!"
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W !
  1. .I $P($G(^AUPNREP(APCHSPAT,15)),U,2)]"" W "Comment: ",$P(^AUPNREP(APCHSPAT,15),U,2)
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W !
  1. ;NOW PRINT ALL OTHER EDD VALUES
  1. I $$VAL^XBDIQ1(9000017,APCHSPAT,1302)]"" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1302),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1303),APCHBY="LMP" D W
  1. I $$VAL^XBDIQ1(9000017,APCHSPAT,1305)]"" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1305),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1306),APCHBY="ULTRASOUND" D W
  1. I $$VAL^XBDIQ1(9000017,APCHSPAT,1308)]"" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1308),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1309),APCHBY="CLINICAL PARAMETERS" D W
  1. I $$VAL^XBDIQ1(9000017,APCHSPAT,1314)]"" S APCHDEDT=$$VALI^XBDIQ1(9000017,APCHSPAT,1314),APCHDOBT=$$VALI^XBDIQ1(9000017,APCHSPAT,1315),APCHBY="UNKNOWN METHOD" D W
  1. Q
  1. W ;
  1. I APCHDEDT]"" D
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W "***NOTE: EDD: ",$$DATE^APCHSMU(APCHDEDT)," (obtained ",$$DATE^APCHSMU(APCHDOBT),") BY ",APCHBY
  1. .I APCHDEDT<$$FMADD^XLFDT(DT,-14) W " -- OUTDATED!"
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W !
  1. .S F=$S(APCHBY="LMP":1401,APCHBY="ULTRASOUND":1402,APCHBY="CLINICAL PARAMETERS":1501,1:"1601")
  1. .I $$VAL^XBDIQ1(9000017,APCHSPAT,F)]"" W "Comment: ",$$VAL^XBDIQ1(9000017,APCHSPAT,F)
  1. .X APCHSCKP Q:$D(APCHSQIT)
  1. .W !
  1. .Q
  1. Q