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

APCLVL04.m

Go to the documentation of this file.
  1. APCLVL04 ; IHS/CMI/LAB - SCREEN LOGIC ;
  1. ;;2.0;IHS PCC SUITE;**2,4,7**;MAY 14, 2009
  1. ;
  1. EDDSEL ;EP - measurements and values
  1. ;get measurement type and value range and store as T_U_RANGE
  1. W !,"With this selection item you will be prompted to enter the date range"
  1. W !,"to search for Estimated Date of Delivery. You will then be prompted"
  1. W !,"to select the Type of EDD estimation (LMP, Ultrasound or Clinical"
  1. W !,"Parameters).",!
  1. GETEDD ;
  1. K APCLEDD
  1. EDDDATE ;GET VALUE RANGE
  1. BD ;
  1. W ! S DIR(0)="D^::EP",DIR("A")="Enter beginning EDD Date for Search" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) W !,"No date selected. Choose again." K APCLMSR(0) G GETEDD
  1. S APCLBDAT=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="D^"_APCLBDAT_"::EP",DIR("A")="Enter ending EDD Date for Search" S Y=APCLBDAT D DD^%DT S DIR("B")=Y,Y="" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G BD
  1. S APCLEDAT=Y
  1. ;S APCLEDD(0)=APCLBDAT_":"_APCLEDAT
  1. GETEDD1 ;
  1. W !,"Please choose the type of EDD Determination. You will be given the"
  1. W !,"chance to choose more than one."
  1. S DIR(0)="SO^L:LMP;U:ULTRASOUND;C:CLINICAL PARAMETERS;A:ANY TYPE",DIR("A")="Select EDD Types",DIR("B")="A" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT),'$D(APCLEDD) W !,"No Types Selected. EDD not used as a selection item." K APCLEDD Q
  1. I Y="A" F X="U","L","C" S APCLEDD(X)=APCLBDAT_U_APCLEDAT G SETRPT
  1. ;
  1. SETRPT ;
  1. S (X,Y)=0 F S X=$O(APCLEDD(X)) Q:X'=+X D
  1. .S Y=Y+1
  1. .S ^APCLVRPT(APCLRPT,11,APCLCRIT,0)=APCLCRIT,^APCLVRPT(APCLRPT,11,"B",APCLCRIT,APCLCRIT)=""
  1. .S ^APCLVRPT(APCLRPT,11,APCLCRIT,11,Y,0)=X_"^"_APCLEDD(X)
  1. .S ^APCLVRPT(APCLRPT,11,APCLCRIT,11,"B",X,Y)=""
  1. .S ^APCLVRPT(APCLRPT,11,APCLCRIT,11,0)="^9001003.8110101A^"_Y_"^"_Y
  1. Q
  1. EDDSCR ;EP - CALLED FROM EDD (ALL TYPES)
  1. ;S X(1)="" IF ANY ARE IN DATE RANGE
  1. Q:'$D(^AUPNREP(DFN,0))
  1. NEW G,Y,B,E,D
  1. S APCLSPEC=""
  1. S G=0
  1. K X
  1. S Y=$O(^APCLVRPT(APCLRPT,11,APCLI,11,0))
  1. S B=$P(^APCLVRPT(APCLRPT,11,APCLI,11,Y,0),U),E=$P(^APCLVRPT(APCLRPT,11,APCLI,11,Y,0),U,2)
  1. S D=$P($G(^AUPNREP(DFN,13)),U,2) D EDDCD I G S X(1)="",X=1 Q
  1. S D=$P($G(^AUPNREP(DFN,13)),U,5) D EDDCD I G S X(1)="",X=1 Q
  1. S D=$P($G(^AUPNREP(DFN,13)),U,8) D EDDCD I G S X(1)="",X=1 Q
  1. S D=$P($G(^AUPNREP(DFN,13)),U,14) D EDDCD I G S X(1)="",X=1 Q
  1. S D=$P($G(^AUPNREP(DFN,13)),U,11) D EDDCD I G S X(1)="",X=1 Q
  1. Q
  1. EDDCD ;
  1. Q:D<B
  1. Q:D>E
  1. S G=1
  1. Q
  1. ;
  1. EDDAPRT ;EP
  1. ;GET ALL EDD'S FOR PRINTING
  1. NEW C,D
  1. S C=0
  1. S D=$P($G(^AUPNREP(DFN,13)),U,2) I D S C=C+1,APCLPRNM(C)=$$DATE^APCLVLU(D)_" (BY LMP)"
  1. S D=$P($G(^AUPNREP(DFN,13)),U,5) I D S C=C+1,APCLPRNM(C)=$$DATE^APCLVLU(D)_" (BY ULTRASOUND)"
  1. S D=$P($G(^AUPNREP(DFN,13)),U,8) I D S C=C+1,APCLPRNM(C)=$$DATE^APCLVLU(D)_" (BY CLINICAL PARAMETERS)"
  1. S D=$P($G(^AUPNREP(DFN,13)),U,14) I D S C=C+1,APCLPRNM(C)=$$DATE^APCLVLU(D)_" (BY UNKNOWN METHOD)"
  1. S D=$P($G(^AUPNREP(DFN,13)),U,11) I D S C=C+1,APCLPRNM(C)=$$DATE^APCLVLU(D)_" (DEFINITIVE EDD)"
  1. Q
  1. EDDSORT ;EP
  1. ;get earliest one for this patient
  1. NEW C,E,D
  1. S C=0,E=""
  1. S D=$P($G(^AUPNREP(DFN,13)),U,2) I D S E=D
  1. S D=$P($G(^AUPNREP(DFN,13)),U,5) I D,D<E S E=D
  1. S D=$P($G(^AUPNREP(DFN,13)),U,8) I D,D<E S E=D
  1. S D=$P($G(^AUPNREP(DFN,13)),U,14) I D,D<E S E=D
  1. S APCLPRNT=E
  1. Q
  1. CMPRT ;EP - called from pgen item
  1. NEW A,B,C,D,E
  1. S (A,B,C,D,E)=""
  1. S A=0 F S A=$O(^AUPNREP(DFN,2101,A)) Q:A'=+A D
  1. .S B=$P(^AUPNREP(DFN,2101,A,0),U,1)
  1. .S B=$P(^AUTTCM(B,0),U,1)
  1. .I B="OTHER" S B=B_$S($P(^AUPNREP(DFN,2101,A,0),U,6)]"":"-"_$P(^AUPNREP(DFN,2101,A,0),U,6),1:"")
  1. .S D=$$DATE^APCLVLU1($P(^AUPNREP(DFN,2101,A,0),U,2))
  1. .S E=$$DATE^APCLVLU1($P(^AUPNREP(DFN,2101,A,0),U,3))
  1. .S C="",C=B_" "_D_"/"_E
  1. .S APCLPCNT=APCLPCNT+1
  1. .S APCLPRNM(APCLPCNT)=C
  1. .Q
  1. Q