| DESCRIPTION OF ENHANCEMENTS |
This patch addresses the PCE provider selection and lookup issue, as
-DSM-I-ECODE, MUMPS error code: M7
%DSM-I-ATLABEL, RELOOK+7^PXBGPRV2:1 S
TOTAL=$P(^TMP("PXBTOTAL",$J,"DILIST",0
),"^",1)
The second subscript of the global-variable ^TMP would contain a "$J"
value. The problem seems to have been caused by errant data in a
"person/provider's record" .
follows:
During a lookup, LIST^DIC (by default) retrieves a record's "WRITE"
fields; the "TITLE" field of a person's record is such a field. The WRITE
fields may vary per source file. The TITLE field is a non-
required ("null" is not invalid), pointer field. When LIST^DIC
encounters a "broken pointer"/invalid data in any person's TITLE
field while attempting to create a PCE provider selection list,
LIST^DIC immediately generates an error, discontinues the lookup
process, and does not return any list of provider choices [i.e.
^TMP(..."DILIST")]. The standard LIST^DIC call does not account
for errant data in fields that should have been validated early
during person record processing. The errant data in a person
record's TITLE field and the standard LIST^DIC call in the PCE
routine PXBGPRV2 caused provider lookups to fail when processing
in PCE.
Addressing the "RELOOK+7^PXBGPRV2" error, patch PX*1*105 redesigns the
LIST^DIC call in PXBGPRV2 suppressing LIST^DIC 's need of valid TITLE
data. The standard PCE LIST^DIC call explicitly requests "NAME" as a
result of a lookup and implicitly requests default WRITE fields such as
the TITLE field. The redesigned call in PXBGPRV2 will force LIST^DIC to
Several NOIS calls have reported an error while processing provider data
"ignore" WRITE fields and return only NAME data, therefore complete
provider lookup processing within PCE and avoid fields unneeded by PCE
that may contain errant data. PX*1*105 will resolve this issue in PCE.
specifically provider lookups in different PCE modules. The error
presented itself at the RELOOK+7 label in routine
PXBGPRV2. The exact error displayed as follows:
%DSM-E-UNDEF, undefined variable ^TMP("PXBTOTAL",557880418,"DILIST",0)
|