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

APCDFH.m

Go to the documentation of this file.
  1. APCDFH ; IHS/CMI/LAB - LIST MANAGER API'S FOR FAMILY HISTORY AND API FOR REP FACTORS
  1. ;;2.0;IHS PCC SUITE;**2,5,7,10,11,16**;MAY 14, 2009;Build 9
  1. ;
  1. MAIN ;EP - main routine driver
  1. D ASK
  1. Q:'$G(APCDPAT)
  1. D REFRESH(APCDPAT)
  1. Q
  1. ;
  1. REFRESH(PAT) ;
  1. D TERM^VALM0
  1. D CLEAR^VALM1
  1. S DFN=PAT
  1. Q:'$D(^AUPNPAT(PAT))
  1. Q:'$D(^DPT(PAT))
  1. S Y=PAT
  1. D ^AUPNPAT
  1. D LM
  1. Q
  1. ;
  1. EN(P,D) ;PEP - CALLED FROM OTHER MODULES
  1. I '$G(P) Q
  1. I '$D(^DPT(P)) Q
  1. D EN^XBNEW("EN1^APCDFH","P;D;VALM*")
  1. Q
  1. EN1 ;
  1. S (APCDF,APCDPAT)=P
  1. S APCDDATE=$P($G(D),".")
  1. D REFRESH(P)
  1. Q
  1. LM ;
  1. S VALMCC=1
  1. D EN^VALM("APCD FAMILY HISTORY"),CLEAR^VALM1
  1. Q
  1. ;
  1. SET ;
  1. S APCDLINE=APCDLINE+1,APCDFHA(APCDLINE,0)=APCDX,APCDFHA("IDX",APCDLINE,APCDRCNT)=APCDIEN_U_R
  1. Q
  1. ;
  1. GETPAT(PAT) ;
  1. K APCDFHA,APCDFHR,APCDTFH
  1. S (APCDCNT,APCDRCNT,APCDLINE)=0
  1. I '$O(^AUPNFH("AC",PAT,0)),'$O(^AUPNFHR("AA",PAT,0)) D Q
  1. . S APCDFHA(1,0)="No Family History currently on file"
  1. . S APCDRCNT=0
  1. S APCDIEN=0 F S APCDIEN=$O(^AUPNFH("AC",PAT,APCDIEN)) Q:'APCDIEN D
  1. .Q:'$D(^AUPNFH(APCDIEN,0))
  1. .S R=$P(^AUPNFH(APCDIEN,0),U,9),O=""
  1. .I R="" S R="Z",S=$$VAL^XBDIQ1(9000014,APCDIEN,.07),Z=S_" ",O=8 D G GETPAT1
  1. ..I S="" S S="UNKNOWN",Z="UNKNOWN "
  1. .I R]"" S S=$$VAL^XBDIQ1(9000014.1,R,.01),Z=S_" "_$P(^AUPNFHR(R,0),U,3) D
  1. ..S O=$P(^AUPNFHR(R,0),U) I O S O=$P($G(^AUTTRLSH(O,21)),U,3)
  1. ..I 'O S O=8
  1. GETPAT1 .S APCDTFH(O,S,Z,R,(9999999-$P(^AUPNFH(APCDIEN,0),U,3)),APCDIEN)=""
  1. S X=0 F S X=$O(^AUPNFHR("AA",PAT,X)) Q:X'=+X S Y=0 F S Y=$O(^AUPNFHR("AA",PAT,X,Y)) Q:Y'=+Y D
  1. .I '$D(^AUPNFH("AE",Y)) D
  1. ..S R=Y
  1. ..S S=$$VAL^XBDIQ1(9000014.1,R,.01),Z=S_" "_$P(^AUPNFHR(R,0),U,3)
  1. ..S O=$P(^AUPNFHR(R,0),U) I O S O=$P($G(^AUTTRLSH(O,21)),U,3)
  1. ..I 'O S O=8
  1. ..S APCDTFH(O,S,Z,R,(9999999-$P(^AUPNFHR(R,0),U,9)),0)=""
  1. S O=0 F S O=$O(APCDTFH(O)) Q:O'=+O D
  1. .S S="" F S S=$O(APCDTFH(O,S)) Q:S="" D
  1. ..S Z="" F S Z=$O(APCDTFH(O,S,Z)) Q:Z="" D
  1. ...S R="",C=0 F S R=$O(APCDTFH(O,S,Z,R)) Q:R="" D
  1. ....S D="" F S D=$O(APCDTFH(O,S,Z,R,D)) Q:D="" D
  1. .....S APCDIEN="" F S APCDIEN=$O(APCDTFH(O,S,Z,R,D,APCDIEN)) Q:APCDIEN="" D FH
  1. Q
  1. ;
  1. STAT(I,R) ;
  1. I R Q $$VAL^XBDIQ1(9000014.1,R,.04)
  1. Q $$VAL^XBDIQ1(9000014,I,.06)
  1. ;
  1. FH ;--
  1. S APCDX="",APCDRCNT=APCDRCNT+1
  1. S APCDLDM=$$LDM(APCDIEN) I APCDLDM="",R S APCDLDM=$P(^AUPNFHR(R,0),U,9)
  1. ;
  1. S APCDX=APCDRCNT_")",$E(APCDX,5)=$$FMTE^XLFDT(APCDLDM)_" Relation: "_Z ;$$VAL^XBDIQ1(9000014.1,R,.04)
  1. D SET
  1. S APCDX="",$E(APCDX,5)="Status: "_$$STAT(APCDIEN,R) D SET
  1. I R'=+R G FH1
  1. I R,$P(^AUPNFHR(R,0),U,5)]""!($P(^AUPNFHR(R,0),U,6)]"") D
  1. .S APCDX="",$E(APCDX,5)="Age at Death: "_$$VAL^XBDIQ1(9000014.1,R,.05)_" Cause of Death: "_$P(^AUPNFHR(R,0),U,6)
  1. .D SET
  1. I R,$P(^AUPNFHR(R,0),U,7)]""!($P(^AUPNFHR(R,0),U,8)]"") D
  1. .S APCDX="",$E(APCDX,5)="Multiple Birth: "_$$VAL^XBDIQ1(9000014.1,R,.07)_$S($P(^AUPNFHR(R,0),U,7)="Y":" Multiple Birth Type: "_$$VAL^XBDIQ1(9000014.1,R,.08),1:"")
  1. .D SET
  1. FH1 S APCDX="",$E(APCDX,5)="Dx: "_$$VAL^XBDIQ1(9000014,APCDIEN,.01)_" "_$$GET1^DIQ(9000014,APCDIEN,.04)
  1. D SET
  1. S APCDX="",$E(APCDX,5)="SNOMED: "_$$VALI^XBDIQ1(9000014,APCDIEN,.13)
  1. D SET
  1. S APCDX="",$E(APCDX,5)="Age at Onset: "_$$VAL^XBDIQ1(9000014,APCDIEN,.05)
  1. D SET
  1. I APCDIEN,$P(^AUPNFH(APCDIEN,0),U,8)]"" S APCDX="",$E(APCDX,5)="Provider who Documented: "_$$VAL^XBDIQ1(9000014,APCDIEN,.08) D SET
  1. Q
  1. LDM(I) ;
  1. I $G(I)="" Q ""
  1. I I=0 Q ""
  1. I '$D(^AUPNFH(I,0)) Q ""
  1. NEW J,D,E
  1. S D=""
  1. S J=$P(^AUPNFH(I,0),U,9) I J S D=$P($G(^AUPNFHR(J,0)),U,9) I D="" S D=$P($G(^AUPNFHR(J,0)),U,9)
  1. S E=$P(^AUPNFH(I,0),U,12) I E>D S D=E
  1. S E=$P(^AUPNFH(I,0),U,3) I E>D S D=E
  1. Q D
  1. ;
  1. HDR ;EP
  1. K VALMHDR
  1. S VALMHDR(1)="Name: "_$E($P(^DPT(AUPNPAT,0),U),1,30)
  1. S VALMHDR(1)=VALMHDR(1)_" DOB: "_$$FTIME^VALM1(AUPNDOB)_" Sex: "
  1. S VALMHDR(1)=VALMHDR(1)_$P(^DPT(AUPNPAT,0),U,2)_" HRN: "
  1. S VALMHDR(1)=VALMHDR(1)_$S($D(^AUPNPAT(AUPNPAT,41,DUZ(2),0)):$P(^AUPNPAT(AUPNPAT,41,DUZ(2),0),U,2),1:"????")
  1. Q
  1. ;
  1. ASK ;
  1. W !
  1. S AUPNLK("INAC")=""
  1. S APCDPAT=""
  1. S DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC K DIC
  1. Q:Y<0
  1. S (APCDF,APCDPAT)=+Y
  1. K AUPNLK
  1. Q
  1. ;
  1. INIT ;
  1. S VALMSG="Q - Quit/?? for more actions/+ next/- previous"
  1. D GETPAT(APCDPAT)
  1. K VALMHDR
  1. S VALMCNT=APCDLINE
  1. Q
  1. ;
  1. ADD ;--
  1. D FULL^VALM1
  1. K APCDADD,APCDICD
  1. K APCDREL,DIR
  1. S APCDSEC=0
  1. D EN^DDIOL(,,"!")
  1. S DIR(0)="9000014.1,.01",DIR("A")="Enter RELATION" KILL DA D ^DIR
  1. I $D(DIRUT) D EN^DDIOL("no relation entered, it is required ....exiting") D PAUSE,BACK Q
  1. I Y="" D EN^DDIOL("no relationship entered, it is required ....exiting") D PAUSE,BACK Q
  1. S APCDREL=+Y
  1. ADD1 ;
  1. I $P($G(^AUTTRLSH(APCDREL,21)),U,2) D I Q D ADDX,PAUSE,BACK Q
  1. .S Q=0
  1. .K APCDR S C=0
  1. .S X=0 F S X=$O(^AUPNFHR("AA",APCDPAT,APCDREL,X)) Q:X'=+X D
  1. ..S C=C+1,APCDR(C)=$$VAL^XBDIQ1(9000014.1,X,.01)_" "_$P(^AUPNFHR(X,0),U,3)_" "_$$VAL^XBDIQ1(9000014.1,X,.04)_U_X
  1. .I C=0 D ADDFHR Q
  1. .S X=0 F S X=$O(APCDR(X)) Q:X'=+X W !?5,X,") ",$P(APCDR(X),U,1)
  1. .S N=C+1 W !?5,N,") Add new ",$P(^AUTTRLSH(APCDREL,0),U,1)
  1. .S DIR(0)="N^1:"_N_":0",DIR("A")="Choose",DIR("B")=N KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S Q=1 Q
  1. .I Y=N D ADDFHR Q
  1. .S APCDFHR=$P(APCDR(+Y),U,2)
  1. I '$P($G(^AUTTRLSH(APCDREL,21)),U,2) S APCDFHR=$O(^AUPNFHR("AA",APCDPAT,APCDREL,0)) I 'APCDFHR D ADDFHR
  1. I 'APCDFHR G ADD1
  1. S DIE="^AUPNFHR(",DR="[APCD FAMILY HX MEMBER EDIT]",DA=APCDFHR D ^DIE K DA,DIE,DR
  1. ;
  1. COND ;
  1. S DIR(0)="Y",DIR("A")="Add "_$S(APCDSEC:"Another",1:"a")_" Condition for "_$$VAL^XBDIQ1(9000014.1,APCDFHR,.01)_" "_$P(^AUPNFHR(APCDFHR,0),U,3),DIR("B")=$S(APCDSEC:"N",1:"Y") KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) W !!,"No condition entered." D PAUSE,ADDX,BACK Q
  1. I 'Y D ADDX,BACK Q
  1. ;CODE HERE TO GET SNOMED
  1. S APCDICD="" K APCDAICD
  1. D SMDX
  1. Y I $G(APCDCI)="" W !,"SNOMED is required." G COND
  1. I $G(APCDICD)="" W !,"A valid code was not selected." G COND
  1. COND1 ;
  1. K DIC,DR,DA
  1. K DD,DO
  1. S DIC="^AUPNFH(",DIC(0)="L",X=APCDICD,DIC("DR")=".02////"_APCDPAT_";.03////^S X=DT;.12////^S X=DT;.09////"_APCDFHR_";.13///"_APCDCI_";.14///"_APCDDI
  1. D FILE^DICN
  1. K DIC,DA,DR,DD,DO,D0,DIE
  1. S APCDFH=+Y
  1. K Y
  1. S APCDOVRR=1
  1. W !,"This is the ICD code that the SNOMED maps to, you can change it if needed.",!
  1. S DIE="^AUPNFH(",DR=".01",DA=APCDFH D ^DIE K DIE,DA,DR
  1. ;
  1. X ;
  1. ;
  1. S Y=$$GETNARR^APCDFHS()
  1. I Y="" D
  1. .S Y=$P($$ICDDX^ICDEX(APCDICD,DT),U,4) W " ",Y
  1. S Y=Y_"|"_APCDDI,Y=$TR(Y,";",":")
  1. S DA=APCDFH,DIE="^AUPNFH(",DR=".04///"_Y_";.08;.05;.15" D ^DIE K DA,DR,DIE
  1. ;now put in additional icd codes if there are any
  1. S APCDX=0 F S APCDX=$O(APCDAICD(APCDX)) Q:APCDX'=+APCDX D
  1. .S DA(1)=APCDFH
  1. .S X=APCDAICD(APCDX),X=$P($$ICDDX^ICDEX(X),U,1) Q:X="" I X]"" S X="`"_X
  1. .S DIC="^AUPNFH("_DA(1)_",11,"
  1. .S DIC(0)="L"
  1. .S DIC("P")=$P(^DD(9000014,1101,0),"^",2)
  1. .D ^DIC K DA,DIC
  1. D EN^DDIOL("Family History added. ",,"!!")
  1. K APCDOVRR,DIR
  1. S APCDSEC=1
  1. G COND
  1. ;
  1. SMDX ;
  1. S (APCDCI,APCDDI,APCDPT,APCDICD)=""
  1. D ^APCDFHS
  1. C I APCDCI="" W !!,"No SNOMED selected." Q
  1. ;get icd code for this snomed
  1. S A=0
  1. I APCDICD]"" S APCDICD=$P($$ICDDX^ICDEX(APCDICD),U,1) Q
  1. W !!,"There was no map to an ICD Diagnosis code for that SNOMED term, you "
  1. W !,"will need to select an ICD Diagnosis code for this Family History.",!
  1. I $T(^APCDFHD)="" D
  1. .S DIR(0)="9000014,.01",DIR("A")="Enter Condition" KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) D EN^DDIOL("no diagnosis selected....required") Q
  1. .S APCDICD=+Y
  1. Q
  1. ADDX ;
  1. K APCDFHR,APCDREL,APCDFH,APCDSEC,APCDOVRR,DIR,DA,DR,APCDICD,APCDR
  1. D ^XBFMK
  1. Q
  1. ;
  1. ADDFHR ;
  1. S APCDFHR=""
  1. S DIR(0)="9000014.1,.03O",DIR("A")="Enter"_$S($G(APCDREL):" "_$P(^AUTTRLSH(APCDREL,0),U),1:"")_" Relation Description" KILL DA D ^DIR KILL DIR
  1. I X="^" Q
  1. S APCDRELD=$$UP^XLFSTR(Y)
  1. ;see if already have one
  1. S Y=0,G=0 F S Y=$O(APCDR(Y)) Q:Y'=+Y!(G) S X=$P(APCDR(Y),U,2) I $P(^AUPNFHR(X,0),U,1)=APCDREL,$$UP^XLFSTR($P(^AUPNFHR(X,0),U,3))=APCDRELD S G=X D
  1. .W !!,"This Relation Description ",$P(^AUTTRLSH(APCDREL,0),U,1)," ",APCDRELD," already exists."
  1. .Q
  1. I G Q
  1. S APCDFHR=""
  1. K DIC,DR,DA,DIADD,DLAYGO
  1. K DD,DO
  1. S DIC="^AUPNFHR(",DIC(0)="L",X=APCDREL,DIC("DR")=".02////"_APCDPAT_";.09////^S X=$S($G(APCDDATE):APCDDATE,1:DT);.03///"_APCDRELD_";.11////^S X=$S($G(APCDDATE):APCDDATE,1:DT)",DIADD=1,DLAYGO=9000014.1
  1. D FILE^DICN
  1. I Y=-1 W "Error in CREATING relation entry." K DIC,DR,DA,DD,D0,DO,DIADD,DLAYGO Q
  1. S APCDFHR=+Y
  1. K DIC,DR,DA,DD,D0,DO,DIADD,DLAYGO
  1. Q
  1. ;
  1. EDIT ;
  1. I 'APCDRCNT D EN^DDIOL("No Family History to Edit",,"!!") H 3 D BACK Q
  1. D EN^VALM2(XQORNOD(0),"OS")
  1. I '$D(VALMY) W !,"No FAMILY HISTORY entry selected." H 2 D BACK Q
  1. S APCDP=$O(VALMY(0)) I 'APCDP K APCDP,VALMY,XQORNOD W !,"No record selected." H 2 D BACK Q
  1. S (APCDFHI,APCDRELI)=0
  1. S (X,Y)=0 F S X=$O(APCDFHA("IDX",X)) Q:X'=+X!(APCDFHI) I $O(APCDFHA("IDX",X,0))=APCDP S Y=$O(APCDFHA("IDX",X,0)),APCDFHI=$P(APCDFHA("IDX",X,Y),U,1),APCDRELI=$P(APCDFHA("IDX",X,Y),U,2)
  1. D FULL^VALM1
  1. ;
  1. ;first edit relation
  1. D ^XBFMK
  1. I APCDRELI,'APCDFHI D D BACK Q
  1. .S DA=APCDRELI,DIE="^AUPNFHR(",DR="[APCD FAMILY HX MEMBER EDIT 1]" D ^DIE K DIE,DR,DA
  1. .I '$D(^AUPNFHR(APCDRELI)) W !,"Relation deleted." D PAUSE Q
  1. .S APCDSEC=0,APCDFHR=APCDRELI D COND
  1. S APCDOREL=""
  1. I 'APCDRELI!('APCDFHI) S Y=1 G EDIT1
  1. I APCDRELI,APCDFHI D
  1. .S APCDOR=$P(^AUPNFH(APCDFHI,0),U,9) I APCDOR S APCDOREL=$P(^AUPNFHR(APCDOR,0),U,1)
  1. .W !!,"The relation associated with this Family History condition is: ",!?10,$$VAL^XBDIQ1(9000014.1,APCDRELI,.01)_" "_$P(^AUPNFHR(APCDRELI,0),U,3)
  1. .S DIR(0)="Y",DIR("A")="Do you wish to CHANGE the relation associated with this condition",DIR("B")="N" KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) W !,"Exiting edit mode...." K APCDOR,APCDFHI,APCDOREL,APCDP,VALMY,XQORNOD,APCDRELI
  1. ;
  1. I $D(DIRUT) W !,"exiting edit mode" H 2 D BACK Q
  1. I 'Y G EDITREST
  1. EDIT1 D EN^DDIOL(,,"!")
  1. S DIR(0)="9000014.1,.01",DIR("A")="Enter RELATION" KILL DA D ^DIR
  1. I $D(DIRUT) D EN^DDIOL("no relation entered, it is required ....exiting") H 1 D BACK Q
  1. I Y="" D EN^DDIOL("no relation entered, it is required ....exiting") H 1 D BACK Q
  1. S APCDREL=+Y
  1. I $P($G(^AUTTRLSH(APCDREL,21)),U,2) D I Q D BACK Q
  1. .S Q=0
  1. .K APCDR S C=0
  1. .S X=0 F S X=$O(^AUPNFHR("AA",APCDPAT,APCDREL,X)) Q:X'=+X D
  1. ..S C=C+1,APCDR(C)=$$VAL^XBDIQ1(9000014.1,X,.01)_" "_$P(^AUPNFHR(X,0),U,3)_" "_$$VAL^XBDIQ1(9000014.1,X,.04)_U_X
  1. .I C=0 D ADDFHR Q
  1. .S X=0 F S X=$O(APCDR(X)) Q:X'=+X W !?5,X,") ",$P(APCDR(X),U,1)
  1. .S N=C+1 W !?5,N,") Add new ",$P(^AUTTRLSH(APCDREL,0),U,1)
  1. .S DIR(0)="N^1:"_N_":0",DIR("A")="Choose",DIR("B")=N KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S Q=1 Q
  1. .I Y=N D ADDFHR Q
  1. .S APCDFHR=$P(APCDR(Y),U,2)
  1. .S APCDRELI=$P(APCDR(+Y),U,2)
  1. I '$P($G(^AUTTRLSH(APCDREL,21)),U,2) S APCDFHR=$O(^AUPNFHR("AA",APCDPAT,APCDREL,0)) I 'APCDFHR D ADDFHR
  1. I 'APCDFHR D EDITX,BACK Q
  1. I APCDFHI S DA=APCDFHI,DIE="^AUPNFH(",DR=".09////^S X=APCDFHR" D ^DIE K DA,DR,DIE
  1. I APCDRELI,APCDFHR'=APCDRELI D
  1. .I $$VAL^XBDIQ1(9000014.1,APCDRELI,.01)="UNKNOWN",'$D(^AUPNFH("AE",APCDRELI)) S DA=APCDRELI,DIK="^AUPNFHR(" D ^DIK
  1. S APCDRELI=APCDFHR
  1. EDITREST ;
  1. W ! S DA=APCDRELI,DIE("NO^")=1,DIE="^AUPNFHR(",DR="[APCD FAMILY HX MEMBER EDIT]" D ^DIE K DA,DIE,DR
  1. S APCDOVRR=1
  1. W !!
  1. I 'APCDFHI S APCDSEC=0 D COND K APCDADD Q
  1. W !!,"SNOMED: ",$$CONCPT^AUPNVUTL($P(^AUPNFH(APCDFHI,0),U,13))_" ("_$P(^AUPNFH(APCDFHI,0),U,13)_")"
  1. W !,"DX: ",$$GET1^DIQ(9000014,APCDFHI,.01)
  1. S DIR(0)="Y",DIR("A")="Do you wish to CHANGE the SNOMED or Diagnosis",DIR("B")="N" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. I Y D EDITSMDX
  1. S APCDCI=$P($G(^AUPNFH(APCDFHI,0)),U,13),APCDDI=$P(^AUPNFH(APCDFHI,0),U,14) ;I 'Y
  1. S DA=APCDFHI,DIE="^AUPNFH(",DR=".09////^S X=APCDRELI;.12///^S X=DT;.08" D ^DIE K DA,DR,DIE
  1. I '$D(^AUPNFH(APCDFHI,0)) D BACK Q
  1. ;I APCDCI]"" S X=$$GET1^DIQ(9000014,APCDFHI,.04)_"|"_APCDDI,DA=APCDFHI,DIE="^AUPNFH(",DR=".04///"_X D ^DIE K DA,DIE,DRIT
  1. S DA=APCDFHI,DIE="^AUPNFH(",DR=".05;.15" D ^DIE K DA,DR,DIE
  1. K DIE,DA,DR,APCDOVRR
  1. D BACK
  1. K APCDADD
  1. Q
  1. EDITSMDX ;
  1. D SMDX
  1. X1 I APCDCI="" W !,"No SNOMED selected, NO CHANGE" D PAUSE Q
  1. S $P(^AUPNFH(APCDFHI,0),U,4)="" ;WIPE OUT PROVIDER NARRATIVE
  1. I APCDICD]"" S DIE="^AUPNFH(",DA=APCDFHI,DR=".01////"_APCDICD D ^DIE K DIE,DA,DR
  1. W !,"This is the ICD code that the SNOMED maps to, you can change it if needed.",!
  1. S DIE="^AUPNFH(",DA=APCDFHI,DR=".01" D ^DIE K DA,DR,DIE
  1. S Y=$$GETNARR^APCDFHS()
  1. I Y="" D
  1. .S Y=$P($$ICDDX^ICDEX(APCDICD,DT),U,4) W " ",Y
  1. S Y=Y_"|"_APCDDI,Y=$TR(Y,";",":")
  1. S DA=APCDFHI,DIE="^AUPNFH(",DR=".04///"_Y_";.13////"_APCDCI_";.14////"_APCDDI_";.08;.05;.15" D ^DIE K DA,DR,DIE
  1. ;.04;.13////"_APCDCI_";.14////"_APCDDI D ^DIE K DA,DR,DIE
  1. I APCDDI]"" S X=$P(^AUTNPOV($$GET1^DIQ(9000014,APCDFHI,.04,"I"),0),U)_"|"_APCDDI,DA=APCDFHI,DIE="^AUPNFH(",DR=".04///"_X D ^DIE K DA,DIE,DR
  1. Q
  1. ;
  1. EDITX ;
  1. K APCDADD,APCDOVRR,DIE,DA,DR,APCDRELI,APCDOREL,APCDFHR,APCDFHI
  1. Q
  1. DELETE ;
  1. D DELETE^APCDFH1
  1. Q
  1. ;
  1. HS ;EP
  1. D HS^APCDFH1
  1. Q
  1. BACK ;EP -BACK
  1. D TERM^VALM0
  1. S VALMBCK="R"
  1. D INIT
  1. D HDR
  1. K DIR
  1. K X,Y,Z,I
  1. Q
  1. ;
  1. HELP ;
  1. S X="?"
  1. D DISP^XQORM1
  1. W !!
  1. Q
  1. ;
  1. EOJ ;
  1. D CLEAR^VALM1
  1. K APCDFHA
  1. K AUPNADD,APCDICD,APCDFH
  1. Q
  1. ;
  1. ;
  1. RFADD(P) ;PEP - called to add a patient to the Reproductive Factors file
  1. ;output: DFN (ien of entry, file is dinum)
  1. ; 0^error message if add failed
  1. I '$G(P) Q 0_"^patient DFN invalid"
  1. I '$D(^DPT(P)) Q 0_"^patient DFN invalid"
  1. I $P(^DPT(P,0),U,2)'="F" Q 0_"^patient not FEMALE"
  1. I $D(^AUPNREP(P,0)) Q P
  1. NEW X,DIC,DD,D0,DO,Y
  1. S X=P,DIC="^AUPNREP(",DIC(0)="L"
  1. K DD,D0,DO,DINUM
  1. S DINUM=X
  1. D FILE^DICN
  1. I Y=-1 Q 0_"^fileman failed adding patient"
  1. Q 1
  1. ;
  1. RHEDIT(P,RETVAL) ;PEP - called to edit reproductive hx data fields
  1. ;input - DFN of patient
  1. ;output - 1 if add/edit successful
  1. ; 0^error message if error
  1. I '$G(P) S RETVAL="0^patient DFN invalid" Q
  1. I '$D(^DPT(P)) S RETVAL="0^patient DFN invalid" Q
  1. I $P(^DPT(P,0),U,2)'="F" S RETVAL="0^patient not FEMALE" Q
  1. NEW V
  1. I '$D(^AUPNREP(P,0)) S V=$$RFADD(P) I 'V S RETVAL=V Q
  1. NEW DA,DDS
  1. S DA=P,DDSFILE=9000017,DR="[APCD UPDATE REPROD FACTORS" D ^DDS
  1. I $D(DIMSG) S RETVAL="0^error in screenman" Q
  1. S RETVAL=1
  1. Q
  1. ;
  1. FP ;EP - called from d/e input template APCD FP (FP)
  1. S APCDREPI=DA
  1. D EN^XBNEW("FP1^APCDFH","APCDREPI;APCDDATE")
  1. K Y
  1. Q
  1. FP1 ;EP - called from XBNEW call
  1. S APCDRFS="",APCDPARS=""
  1. I '$D(^AUPNREP(APCDREPI)) S X=$$RFADD(APCDREPI) I 'X W $P(X,U,2) Q
  1. FP11 ;
  1. S DIE="^AUPNREP(",DA=APCDREPI,DR="[APCD FP EDIT]" D ^DIE
  1. K DIE,DA,DR
  1. FP12 ;
  1. D FM1^APCDFH1
  1. K Y
  1. Q
  1. ;
  1. RF ;EP
  1. S APCDREPI=DA
  1. D EN^XBNEW("RF1^APCDFH","APCDREPI;APCDDATE")
  1. K Y
  1. Q
  1. RF1 ;EP
  1. S APCDRFS="",APCDPARS=""
  1. I '$D(^AUPNREP(APCDREPI)) S X=$$RFADD(APCDREPI) I 'X W $P(X,U,2) Q
  1. RF11 ;
  1. S DIE="^AUPNREP(",DA=APCDREPI,DR="[APCD RF EDIT]" D ^DIE
  1. K DIE,DA,DR
  1. K Y
  1. Q
  1. ;
  1. PAUSE ;EP
  1. S DIR(0)="EO",DIR("A")="Press enter to continue...." D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q