1 | C0PPAT ; ERX/GPL - ERX PATIENT utilities; 8/26/09 ; 12/10/09 6:46pm
|
---|
2 | ;;1.0;C0P;;Apr 25, 2012;Build 103
|
---|
3 | ;Copyright 2009 George Lilly. Licensed under the terms of the GNU
|
---|
4 | ;General Public License See attached copy of the License.
|
---|
5 | ;
|
---|
6 | ;This program is free software; you can redistribute it and/or modify
|
---|
7 | ;it under the terms of the GNU General Public License as published by
|
---|
8 | ;the Free Software Foundation; either version 2 of the License, or
|
---|
9 | ;(at your option) any later version.
|
---|
10 | ;
|
---|
11 | ;This program is distributed in the hope that it will be useful,
|
---|
12 | ;but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
13 | ;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
14 | ;GNU General Public License for more details.
|
---|
15 | ;
|
---|
16 | ;You should have received a copy of the GNU General Public License along
|
---|
17 | ;with this program; if not, write to the Free Software Foundation, Inc.,
|
---|
18 | ;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
---|
19 | ;
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | ; THIS ROUTINE IS CALLED AS PART OF ERX WEB SERVICES PROCESSING
|
---|
23 | ; TO POPULATE INFORMATION ABOUT THE PATIENT TO BE MAPPED INTO XML
|
---|
24 | ; AND SENT TO THE EPRESCRIBING PROVIDER TO DEFINE THE PATIENT ON THEIR
|
---|
25 | ; SYSTEM. ALL WEB SERVICE CALLS REGARDING A PATIENT WILL USE THIS ROUTINE
|
---|
26 | ; AND SEND A COMPLETE REPRESENTATION OF THE PATIENT.
|
---|
27 | ; GPL JUN 2010
|
---|
28 | ;
|
---|
29 | EN(RTNVAR,C0PDFN) ; INITIALIZE PATIENT VARIABLE ARRAY FOR PATIENT C0PDFN
|
---|
30 | ; RTNVAR IS PASSED BY NAME. VARIABLES ARE PREFIXED WITH "PATIENT-"
|
---|
31 | ; HERE IS A LIST OF THE VARIABLES THAT ARE POPULATED FOR THE PATIENT:
|
---|
32 | ;GPL("PATIENT-ACTORADDRESSCITY")="ALTON"
|
---|
33 | ;GPL("PATIENT-ACTORADDRESSLINE1")="1234 Somewhere Lane"
|
---|
34 | ;GPL("PATIENT-ACTORADDRESSLINE2")=""
|
---|
35 | ;GPL("PATIENT-ACTORADDRESSSOURCEID")="WS_PATIENT2"
|
---|
36 | ;GPL("PATIENT-ACTORADDRESSSTATE")="KANSAS"
|
---|
37 | ;GPL("PATIENT-ACTORADDRESSTYPE")="Home"
|
---|
38 | ;GPL("PATIENT-ACTORADDRESSZIPCODE")=67623
|
---|
39 | ;GPL("PATIENT-ACTORCELLTEL")=""
|
---|
40 | ;GPL("PATIENT-ACTORCELLTELTEXT")=""
|
---|
41 | ;GPL("PATIENT-ACTORDATEOFBIRTH")="1957-12-25"
|
---|
42 | ;GPL("PATIENT-ACTOREMAIL")=""
|
---|
43 | ;GPL("PATIENT-ACTORFAMILYNAME")="ZZ PATIENT"
|
---|
44 | ;GPL("PATIENT-ACTORGENDER")="MALE"
|
---|
45 | ;GPL("PATIENT-ACTORGIVENNAME")="TEST"
|
---|
46 | ;GPL("PATIENT-ACTORIEN")=2
|
---|
47 | ;GPL("PATIENT-ACTORMIDDLENAME")="TWO"
|
---|
48 | ;GPL("PATIENT-ACTOROBJECTID")="WS_PATIENT2"
|
---|
49 | ;GPL("PATIENT-ACTORRESTEL")="888-555-1212"
|
---|
50 | ;GPL("PATIENT-ACTORRESTELTEXT")="Residential Telephone"
|
---|
51 | ;GPL("PATIENT-ACTORSOURCEID")="ACTORSYSTEM_1"
|
---|
52 | ;GPL("PATIENT-ACTORSSN")="769122557P"
|
---|
53 | ;GPL("PATIENT-ACTORSSNSOURCEID")="WS_PATIENT2"
|
---|
54 | ;GPL("PATIENT-ACTORSSNTEXT")="SSN"
|
---|
55 | ;GPL("PATIENT-ACTORSUFFIXNAME")=""
|
---|
56 | ;GPL("PATIENT-ACTORWORKTEL")="888-121-1212"
|
---|
57 | ;GPL("PATIENT-ACTORWORKTELTEXT")="Work Telephone"
|
---|
58 | ;GPL("PATIENTID")="PATIENT2"
|
---|
59 | N C0PTMP
|
---|
60 | D PEXTRACT^C0CACTOR("C0PTMP",C0PDFN,"WS_PATIENT_"_C0PDFN)
|
---|
61 | ; todo: for state, use extended syntax
|
---|
62 | N ZG
|
---|
63 | S C0PTMP("PATIENTID")="PATIENT"_C0PDFN ; PATIENT ID BASED ON DFN
|
---|
64 | S C0PTMP("IDTYPE")="" ; DON'T KNOW WHAT SHOULD GO HERE
|
---|
65 | S C0PTMP("STARTHISTORY")="2004-01-01T00:00:00" ; DEFAULT... CHANGE THIS
|
---|
66 | S C0PTMP("ENDHISTORY")="2010-01-01T00:00:00" ; DEFAULT... CHANGE THIS
|
---|
67 | S C0PTMP("PRESCRIPTIONSTATUS")="C" ; DEFAULT... CHANGE THIS
|
---|
68 | S C0PTMP("PRESCRIPTIONSUBSTATUS")="S" ; DEFAULT... CHANGE THIS
|
---|
69 | S C0PTMP("ARCHIVESTATUS")="N" ; DEFAULT... CHANGE THIS
|
---|
70 | S ZG=$$GET1^DIQ(2,C0PDFN,.115,"I") ;NEED ABBREVIATION
|
---|
71 | S C0PTMP("ACTORADDRESSSTATE")=$$GET1^DIQ(5,ZG_",",1) ;STATE ABBREVIATION
|
---|
72 | I C0PTMP("ACTORGENDER")="MALE" S C0PTMP("ACTORGENDER")="M"
|
---|
73 | I C0PTMP("ACTORGENDER")="FEMALE" S C0PTMP("ACTORGENDER")="F"
|
---|
74 | S C0PTMP("ACTORDATEOFBIRTH")=$TR(C0PTMP("ACTORDATEOFBIRTH"),"-") ;REMOVE DASHES FROM DOB
|
---|
75 | S C0PTMP("ACTORSSN")=$TR(C0PTMP("ACTORSSN"),"P","") ;REMOVE P FROM TEST SSN
|
---|
76 | N ZI
|
---|
77 | S ZI=""
|
---|
78 | F S ZI=$O(C0PTMP(ZI)) Q:ZI="" D ; FOR EACH VARIABLE RETURNED
|
---|
79 | . S @RTNVAR@("PATIENT-"_ZI)=C0PTMP(ZI) ; RETURN PREFIXED VARIABLE
|
---|
80 | S @RTNVAR@("PATIENT-ACTORADDRESSCOUNTRY")="US" ;FIX THIS FOR INTERNATIONAL
|
---|
81 | S @RTNVAR@("PATIENT-ACTORMEMO")="" ; DON'T KNOW WHAT TO PUT HERE GPL
|
---|
82 | Q
|
---|
83 | ;
|
---|