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

SDESGETREGA.m

Go to the documentation of this file.
  1. SDESGETREGA ;ALB/LAB,TAW,LAB,KML,MGD,LAB,RRM - Get registration info JSON format ; Jul 28,2022
  1. ;;5.3;SCHEDULING;**799,804,805,809,814,820,823,824**;AUG 13, 1993;Build 3
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. ; Documented API's and Integration Agreements
  1. ; -------------------------------------------
  1. ; Reference to PATIENT in ICR #7030
  1. ; Reference to PATIENT in ICR #7029
  1. ; Reference to PATIENT in ICR #1476
  1. ; Reference to PATIENT in ICR #10035
  1. ; Reference to SCHEDULED ADMISSION in ICR #4425
  1. Q
  1. ;
  1. GETREGA(SDECY,DFN,SDEAS) ;return basic reg info/demographics for given patient in JSON format
  1. ;Input Parameter:
  1. ; DFN - Patient ID - Pointer to PATIENT file
  1. ; SDEAS - [optional] Enterprise Appointment Scheduling (EAS) Tracking Number associated to an appointment.
  1. ;Returns:
  1. ; json formatted output (need to add)
  1. NEW POP,SDINFO,SDDFN,SDPATARR,SDDEMO,PRACE,PRACEN,PETH,PETHN,SDMHP,SDPCP,GAF,GAFR,SDZIP,PREREGTIM
  1. S POP=0
  1. D VALIDATE D:POP BUILDER Q:POP
  1. D GETREG
  1. D BUILDER
  1. Q
  1. ;
  1. VALIDATE ;validate input Parameter
  1. I +DFN=0 S POP=1 D ERRLOG^SDESJSON(.SDINFO,1) Q
  1. I '$D(^DPT(DFN,0)) S POP=1 D ERRLOG^SDESJSON(.SDINFO,2)
  1. S SDEAS=$G(SDEAS,"")
  1. I $L(SDEAS) S SDEAS=$$EASVALIDATE^SDESUTIL(SDEAS)
  1. I $G(SDEAS)=-1 S POP=1 D ERRLOG^SDESJSON(.SDINFO,142)
  1. Q
  1. ;
  1. BUILDER ;Convert data to JSON
  1. N JSONERR
  1. S JSONERR=""
  1. D ENCODE^SDESJSON(.SDINFO,.SDECY,.JSONERR)
  1. Q
  1. ;
  1. ASSIGNVALS ;assign values to be used to build output
  1. ; assign data values
  1. ;
  1. N PREREGTIMIEN
  1. S SDDFN=DFN_",",PREREGTIM=""
  1. D GETS^DIQ(2,SDDFN,".1;.116;.2203;.2207;.331;.332;.333;.334;.335;.336;.337;.338;.339;.1219;.1151;.1152;.1153;.1154;.1155;.1156;.1173;.1223;.2201;.33011","E","SDPATARR")
  1. D PDEMO^SDECU3(.SDDEMO,DFN)
  1. D RACELST^SDECU2(DFN,.PRACE,.PRACEN)
  1. D ETH^SDECU2(DFN,.PETH,.PETHN) ;get ethnicity
  1. S SDMHP=$$START^SCMCMHTC(DFN) ;Return Mental Health Provider
  1. S SDPCP=$$OUTPTPR^SDUTL3(DFN) ;Return Primary Care Provider
  1. S GAF=$$NEWGAF^SDUTL2(DFN)
  1. S GAFR=""
  1. S:GAF="" GAF=-1
  1. S $P(GAFR,"|",1)=$S(+GAF:"New GAF Required",1:"No new GAF required")
  1. S PREREGTIMIEN=$O(^DGS(41.41,"B",DFN,"A"),-1)
  1. I PREREGTIMIEN'="" D
  1. . S PREREGTIM=$$FMTISO^SDAMUTDT($$GET1^DIQ(41.41,PREREGTIMIEN_",",1,"I"))
  1. Q
  1. ;
  1. GETREG ;
  1. S SDINFO("Patient","DataFileNumber")=DFN
  1. S SDINFO("Patient","ICN")=$$GETPATICN^SDESINPUTVALUTL(DFN)
  1. D ASSIGNVALS ;assign all values needed to build SDINFO array
  1. ;
  1. ;person identification information
  1. ;
  1. S SDINFO("Patient","Name")=SDDEMO("NAME")
  1. S SDINFO("Patient","SocialSecurityNumber")=$$GET1^DIQ(2,DFN_",",.09,"E")
  1. S SDINFO("Patient","DateOfBirth")=$$FMTISO^SDAMUTDT($$GET1^DIQ(2,DFN_",",.03,"I")) ;vse-2500 IA 10035
  1. S SDINFO("Patient","Race","IEN")=$G(PRACE)
  1. S SDINFO("Patient","Race","Name")=$G(PRACEN)
  1. S SDINFO("Patient","Ethnicity","IEN")=$G(PETH)
  1. S SDINFO("Patient","Ethnicity","Name")=$G(PETHN)
  1. S SDINFO("Patient","Sex")=SDDEMO("GENDER")
  1. S SDINFO("Patient","Security")=$$PTSEC^SDECUTL(DFN)
  1. S SDINFO("Patient","Marital")=SDDEMO("PMARITAL")
  1. S SDINFO("Patient","Religion")=SDDEMO("PRELIGION")
  1. S SDINFO("Patient","TimeStamp")=PREREGTIM
  1. ;
  1. ;health information
  1. ;
  1. S SDINFO("Patient","PrimaryCareProvider")=$P(SDPCP,"^",2)
  1. S SDINFO("Patient","ServiceConnected")=SDDEMO("SVCCONN")
  1. S SDINFO("Patient","ServiceConnectedPercentage")=SDDEMO("SVCCONNP")
  1. S SDINFO("Patient","Ward")=$G(SDPATARR(2,SDDFN,.1,"E"))
  1. S SDINFO("Patient","HealthRecordNumber")=SDDEMO("HRN")
  1. S SDINFO("Patient","MentalHealthProvider")=$P(SDMHP,"^",2)
  1. ;
  1. ;flags
  1. ;
  1. S SDINFO("Patient","FugitiveFlag")=SDDEMO("PF_FFF")
  1. S SDINFO("Patient","VeteranCatastrophicallyDisabled")=SDDEMO("PF_VCD")
  1. S SDINFO("Patient","NationalFlag")=SDDEMO("PFNATIONAL")
  1. S SDINFO("Patient","LocalFlag")=SDDEMO("PFLOCAL")
  1. S SDINFO("Patient","EnrollmentSubgroup")=SDDEMO("SUBGRP")
  1. S SDINFO("Patient","Category8GFlag")=(SDDEMO("PRIGRP")="GROUP 8")&(SDDEMO("SUBGRP")="g")
  1. S SDINFO("Patient","SimilarPatients")=SDDEMO("SIMILAR")
  1. S SDINFO("Patient","PriorityGroup")=SDDEMO("PRIGRP")
  1. S SDINFO("Patient","GAFRequired")=$G(GAFR)
  1. ;
  1. ;contact information
  1. ;
  1. S SDINFO("Patient","Cell")=SDDEMO("PCELL")
  1. S SDINFO("Patient","Email")=SDDEMO("PEMAIL")
  1. S SDINFO("Patient","HomePhone")=SDDEMO("HPHONE")
  1. S SDINFO("Patient","OfficePhone")=SDDEMO("OPHONE")
  1. ;
  1. ;mail address information
  1. ;
  1. S SDINFO("Patient","MailingAddress","Street1")=SDDEMO("PADDRES1")
  1. S SDINFO("Patient","MailingAddress","Street2")=SDDEMO("PADDRES2")
  1. S SDINFO("Patient","MailingAddress","Street3")=SDDEMO("PADDRES3")
  1. S SDINFO("Patient","MailingAddress","City")=SDDEMO("PCITY")
  1. S SDINFO("Patient","MailingAddress","State")=SDDEMO("PSTATE")
  1. S SDINFO("Patient","MailingAddress","County")=SDDEMO("PCOUNTY")
  1. S SDINFO("Patient","MailingAddress","Country")=SDDEMO("PCOUNTRY")
  1. S SDINFO("Patient","MailingAddress","CountryName")=$G(SDPATARR(2,SDDFN,.1173,"E"))
  1. S SDINFO("Patient","MailingAddress","Zip4")=SDDEMO("PZIP+4")
  1. S SDINFO("Patient","MailingAddress","Zip")=$G(SDPATARR(2,SDDFN,.116,"E"))
  1. S SDINFO("Patient","AddressIndicator")=SDDEMO("BADADD")
  1. ;
  1. ;Residential Address Info
  1. ;
  1. S SDINFO("Patient","ResidentialAddress","Address1")=$G(SDPATARR(2,SDDFN,.1151,"E"))
  1. S SDINFO("Patient","ResidentialAddress","Address2")=$G(SDPATARR(2,SDDFN,.1152,"E"))
  1. S SDINFO("Patient","ResidentialAddress","Address3")=$G(SDPATARR(2,SDDFN,.1153,"E"))
  1. S SDINFO("Patient","ResidentialAddress","City")=$G(SDPATARR(2,SDDFN,.1154,"E"))
  1. S SDINFO("Patient","ResidentialAddress","State")=$G(SDPATARR(2,SDDFN,.1155,"E"))
  1. S SDINFO("Patient","ResidentialAddress","Zip4")=$G(SDPATARR(2,SDDFN,.1156,"E"))
  1. ;S SDINFO("Patient","ResidentialAddress","Zip")=$G(SDPATARR(2,SDDFN,.1156,"E"))
  1. ;
  1. ;Temp Address information
  1. ;
  1. S SDINFO("Patient","TemporaryAddress","Address1")=SDDEMO("PTADDRESS1")
  1. S SDINFO("Patient","TemporaryAddress","Address2")=SDDEMO("PTADDRESS2")
  1. S SDINFO("Patient","TemporaryAddress","Address3")=SDDEMO("PTADDRESS3")
  1. S SDINFO("Patient","TemporaryAddress","City")=SDDEMO("PTCITY")
  1. S SDINFO("Patient","TemporaryAddress","State")=SDDEMO("PTSTATE")
  1. S SDINFO("Patient","TemporaryAddress","Zip")=SDDEMO("PTZIP")
  1. S SDINFO("Patient","TemporaryAddress","Zip4")=SDDEMO("PTZIP+4")
  1. S SDINFO("Patient","TemporaryAddress","Country")=SDDEMO("PTCOUNTRY")
  1. S SDINFO("Patient","TemporaryAddress","CountryName")=$G(SDPATARR(2,SDDFN,.1223,"E"))
  1. S SDINFO("Patient","TemporaryAddress","County")=SDDEMO("PTCOUNTY")
  1. S SDINFO("Patient","TemporaryAddressStart")=$$FMTISO^SDAMUTDT($$GET1^DIQ(2,DFN_",",.1217,"I")) ;vse-2500 IA 7019
  1. S SDINFO("Patient","TemporaryAddressEnd")=$$FMTISO^SDAMUTDT($$GET1^DIQ(2,DFN_",",.1218,"I")) ;vse-2500 IA 7019
  1. S SDINFO("Patient","TemporaryPhone")=$G(SDPATARR(2,SDDFN,.1219,"E"))
  1. ;
  1. ;Primary Next Of Kin Information
  1. ;
  1. S SDINFO("Patient","PrimaryNextOfKin","Name")=SDDEMO("NOK")
  1. S SDINFO("Patient","PrimaryNextOfKin","Relationship")=SDDEMO("KREL")
  1. S SDINFO("Patient","PrimaryNextOfKin","Phone")=SDDEMO("KPHONE")
  1. S SDINFO("Patient","PrimaryNextOfKin","Address","Address")=SDDEMO("KSTREET")
  1. S SDINFO("Patient","PrimaryNextOfKin","Address","City")=SDDEMO("KCITY")
  1. S SDINFO("Patient","PrimaryNextOfKin","Address","State")=SDDEMO("KSTATE")
  1. S SDINFO("Patient","PrimaryNextOfKin","Address","Zip")=SDDEMO("KZIP")
  1. S SDINFO("Patient","PrimaryNextOfKin","Address","street2")=SDDEMO("KSTREET2")
  1. S SDINFO("Patient","PrimaryyNextOfKin","Address","Street3")=SDDEMO("KSTREET3")
  1. S SDINFO("Patient","PrimaryNextOfKin","Address","Zip4")=$G(SDPATARR(2,SDDFN,.2207,"E"))
  1. ;
  1. ;Secondary Next of Kin Information
  1. ;
  1. S SDINFO("Patient","SecondaryNextOfKin","Name")=SDDEMO("K2NAME")
  1. S SDINFO("Patient","SecondaryNextOfKin","Relationship")=SDDEMO("K2REL")
  1. S SDINFO("Patient","SecondaryNextOfKin","Phone")=SDDEMO("K2PHONE")
  1. S SDINFO("Patient","SecondaryNextOfKin","Address","Street")=SDDEMO("K2STREET")
  1. S SDINFO("Patient","SecondaryNextOfKin","Address","Street2")=SDDEMO("K2STREET2")
  1. S SDINFO("Patient","SecondaryNextOfKin","Address","Street3")=SDDEMO("K2STREET3")
  1. S SDINFO("Patient","SecondaryNextOfKin","Address","City")=SDDEMO("K2CITY")
  1. S SDINFO("Patient","SecondaryNextOfKin","Address","State")=SDDEMO("K2STATE")
  1. S SDINFO("Patient","SecondaryNextOfKin","Address","Zip")=SDDEMO("K2ZIP")
  1. S SDINFO("Patient","SecondaryNextOfKin","Address","Zip4")=$G(SDPATARR(2,SDDFN,.2203,"E"))
  1. ;
  1. ; Emergency Contact
  1. ;
  1. S SDINFO("Patient","EmergencyContact","Name")=$G(SDPATARR(2,SDDFN,.331,"E"))
  1. S SDINFO("Patient","EmergencyContact","Relationship")=$G(SDPATARR(2,SDDFN,.332,"E"))
  1. S SDINFO("Patient","EmergencyContact","Phone")=$G(SDPATARR(2,SDDFN,.339,"E"))
  1. S SDINFO("Patient","EmergencyContact","WorkPhone")=$G(SDPATARR(2,SDDFN,.33011,"E"))
  1. S SDINFO("Patient","EmergencyContact","Address","Street")=$G(SDPATARR(2,SDDFN,.333,"E"))
  1. S SDINFO("Patient","EmergencyContact","Address","Street2")=$G(SDPATARR(2,SDDFN,.334,"E"))
  1. S SDINFO("Patient","EmergencyContact","Address","Street3")=$G(SDPATARR(2,SDDFN,.335,"E"))
  1. S SDINFO("Patient","EmergencyContact","Address","City")=$G(SDPATARR(2,SDDFN,.336,"E"))
  1. S SDINFO("Patient","EmergencyContact","Address","State")=$G(SDPATARR(2,SDDFN,.337,"E"))
  1. S SDINFO("Patient","EmergencyContact","Address","Zip")=$G(SDPATARR(2,SDDFN,.338,"E"))
  1. S SDINFO("Patient","EmergencyContact","Address","Zip4")=$G(SDPATARR(2,SDDFN,.2201,"E"))
  1. Q