From 972e3e7d3cfbc3e29e06523eba117434301da3e1 Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 6 Jul 2008 20:18:34 +0000 Subject: [PATCH] Added entry points to GPLACTORS to get the patient information; changes in Template in GPLCCR0 --- p/CCRDPT.m | 2 +- p/GPLACTORS.m | 52 +++++++++++++++++++++++++++++++-------------------- p/GPLCCR0.m | 20 ++++++++++++++++++-- 3 files changed, 51 insertions(+), 23 deletions(-) diff --git a/p/CCRDPT.m b/p/CCRDPT.m index f57536b..8267b2f 100644 --- a/p/CCRDPT.m +++ b/p/CCRDPT.m @@ -198,7 +198,7 @@ DISPNAME() ; Display Name; PUBLIC; Extrinsic N NAME S NAME=$P(PT(0),"^",1) Q $$NAMEFMT^XLFNAME(.NAME,"G","MXc") ; "G" is Given Name First; "MXc" is Mixed Case, With Suffx Preceded by Comma -OB() ; Date of Birth; PUBLIC; Extrinsic +DOB() ; Date of Birth; PUBLIC; Extrinsic ; PREREQ: PT Defined Q:$G(PT(0))="" "" N DOB S DOB=$P(PT(0),"^",3) diff --git a/p/GPLACTORS.m b/p/GPLACTORS.m index 7dc50f7..1c01a42 100644 --- a/p/GPLACTORS.m +++ b/p/GPLACTORS.m @@ -4,17 +4,26 @@ GPLACTORS ; CCDCCR/GPL - CCR/CCD PROCESSING FOR ACTORS ; 7/3/08 ; PROCESS THE ACTORS SECTION OF THE CCR ; EXTRACT(IPXML,ALST,AXML) ; EXTRACT ACTOR FROM ALST INTO PROVIDED XML TEMPLATE - ; + ; IPXML is the Input Actor Template into which we are going to substitute values + ; This is straight XML. Values to be substituted are in @@VAL@@ format. + + ; ALST is the actor list global generated by ACTLST^GPLCCR and is in the following format + ; ^TMP(7542,1,"ACTORS",0)=Count + ; ^TMP(7542,1,"ACTORS",n)="ActorID^ActorType^ActorIEN" + ; ActorType is an enum containing either "PROVIDER" "PATIENT" "SYSTEM" + + ; AXML is the output arrary, to contain XML. + N I,J,AMAP,AOID,ATYP,AIEN D CP^GPLXPATH(IPXML,AXML) ; MAKE A COPY OF ACTORS XML D REPLACE^GPLXPATH(AXML,"","//Actors") ; DELETE THE INSIDES W "PROCESSING ACTORS ",! F I=1:1:@ALST@(0) D ; PROCESS ALL ACTORS IN THE LIST - . I @ALST@(I)["@@" Q ; NOT A VALID ACTOR + . I @ALST@(I)["@@" Q ; NOT A VALID ACTOR . S AOID=$P(@ALST@(I),"^",1) ; ACTOR OBJECT ID . S ATYP=$P(@ALST@(I),"^",2) ; ACTOR TYPE . S AIEN=$P(@ALST@(I),"^",3) ; ACTOR RECORD NUMBER - . I ATYP="" Q ; NOT A VALID ACTOR + . I ATYP="" Q ; NOT A VALID ACTOR . ; . W AOID_" "_ATYP_" "_AIEN,! . I ATYP="PATIENT" D ; PATIENT ACTOR TYPE @@ -47,24 +56,27 @@ PATIENT(INXML,ACTREC,OUTXML) ; PROCESS A PATIENT ACTOR W "PROCESSING ACTOR PATIENT ",ACTREC,! ; N AMAP S AMAP=$NA(^TMP($J,"AMAP")) + D INIT^CCRDPT(AIEN) S @AMAP@("ACTOROBJECTID")=AOID ;ACTOR OBJECT ID - S @AMAP@("ACTORGIVENNAME")="" - S @AMAP@("ACTORMIDDLENAME")="" - S @AMAP@("ACTORFAMILYNAME")="" - S @AMAP@("ACTORDATEOFBIRTH")="" - S @AMAP@("ACTORGENDER")="" - S @AMAP@("ACTORSSN")="" - S @AMAP@("ACTORSSNSOURCEID")="" - S @AMAP@("ACTORADDRESSTYPE")="" - S @AMAP@("ACTORADDRESSLINE1")="" - S @AMAP@("ACTORADDRESSLINE2")="" - S @AMAP@("ACTORADDRESSCITY")="" - S @AMAP@("ACTORADDRESSSTATE")="" - S @AMAP@("ACTORADDRESSZIPCODE")="" - S @AMAP@("ACTORTELEPHONE")="" - S @AMAP@("ACTORTELEPHONETYPE")="" - S @AMAP@("ACTOREMAIL")="" - S @AMAP@("ACTORADDRESSSOURCEID")="" + S @AMAP@("ACTORGIVENNAME")=$$GIVEN^CCRDPT + S @AMAP@("ACTORMIDDLENAME")=$$MIDDLE^CCRDPT + S @AMAP@("ACTORFAMILYNAME")=$$FAMILY^CCRDPT + S @AMAP@("ACTORDATEOFBIRTH")=$$DOB^CCRDPT + S @AMAP@("ACTORGENDER")=$$GENDER^CCRDPT + S @AMAP@("ACTORSSN")=$$SSN^CCRDPT + S @AMAP@("ACTORSSNSOURCEID")=AOID + S @AMAP@("ACTORADDRESSTYPE")=$$ADDRTYPE^CCRDPT + S @AMAP@("ACTORADDRESSLINE1")=$$ADDR1^CCRDPT + S @AMAP@("ACTORADDRESSLINE2")=$$ADDR2^CCRDPT + S @AMAP@("ACTORADDRESSCITY")=$$CITY^CCRDPT + S @AMAP@("ACTORADDRESSSTATE")=$$STATE^CCRDPT + S @AMAP@("ACTORADDRESSZIPCODE")=$$ZIP^CCRDPT + S @AMAP@("ACTORRESTEL")=$$RESTEL^CCRDPT + S @AMAP@("ACTORWORKTEL")=$$WORKTEL^CCRDPT + S @AMAP@("ACTORCELLTEL")=$$CELLTEL^CCRDPT + S @AMAP@("ACTOREMAIL")=$$EMAIL^CCRDPT + S @AMAP@("ACTORADDRESSSOURCEID")=AOID + D DESTROY^CCRDPT D MAP^GPLXPATH(INXML,AMAP,OUTXML) ; MAP THE VARIABLE Q ; diff --git a/p/GPLCCR0.m b/p/GPLCCR0.m index 6739c52..e30d634 100644 --- a/p/GPLCCR0.m +++ b/p/GPLCCR0.m @@ -436,7 +436,11 @@ LOAD(ARY) ; LOAD A CCR TEMPLATE INTO ARY PASSED BY NAME ;;@@ACTORDATEOFBIRTH@@ ;; ;; +;; ;;@@ACTORGENDER@@ +;;@@ACTORGENDER@@ +;;2.16.840.1.113883.5.1 +;; ;; ;; ;; @@ -461,9 +465,21 @@ LOAD(ARY) ; LOAD A CCR TEMPLATE INTO ARY PASSED BY NAME ;;@@ACTORADDRESSZIPCODE@@ ;; ;; -;;@@ACTORTELEPHONE@@ +;;@@ACTORRESTEL@@ ;; -;;@@ACTORTELEPHONETYPE@@ +;;Residential Telephone +;; +;; +;; +;;@@ACTORWORKTEL@@ +;; +;;Work Telephone +;; +;; +;; +;;@@ACTORCELLTEL@@ +;; +;;Cell phone ;; ;; ;;