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

SDES2GETEXPENTRY.m

Go to the documentation of this file.
  1. SDES2GETEXPENTRY ;ALB/BLB - SDES2 GET EXPANDED ENTRY ;Sep 25, 2023
  1. ;;5.3;Scheduling;**861**;Aug 13, 1993;Build 17
  1. ;;Per VHA Directive 6402, this routine should not be modified
  1. Q
  1. ;
  1. GETEXPANDEDENTRY(JSON,SDCONTEXT,PATIENTDATA) ;
  1. N RETURN,ERRORS,EXPANDEDENTRY,DFN,APPTIEN,CLINICIEN,VISITFILEIEN
  1. ;
  1. D VALIDATE(.ERRORS,PATIENTDATA("APPOINTMENT IEN"),.SDCONTEXT)
  1. I $D(ERRORS) M RETURN=ERRORS S EXPANDEDENTRY("ExpandedEntry",1)="" D BUILDJSON^SDES2JSON(.JSON,.RETURN) Q
  1. ;
  1. D POPULATE(.PATIENTDATA,.DFN,.APPTIEN,.CLINICIEN,.VISITFILEIEN)
  1. ;
  1. D GETDIAGNOSIS(.EXPANDEDENTRY,VISITFILEIEN)
  1. D GETSTOPCODES(.EXPANDEDENTRY,CLINICIEN)
  1. D GETPROVIDERS(.EXPANDEDENTRY,VISITFILEIEN)
  1. D GETPROCEDURES(.EXPANDEDENTRY,VISITFILEIEN)
  1. D GETPATIENTCLASS(.EXPANDEDENTRY,APPTIEN)
  1. ;
  1. I '$D(EXPANDEDENTRY) S EXPANDEDENTRY("Expandedentry",1)=""
  1. M RETURN=EXPANDEDENTRY D BUILDJSON^SDES2JSON(.JSON,.RETURN)
  1. Q
  1. ;
  1. POPULATE(PATIENTDATA,DFN,APPTIEN,CLINICIEN,VISITFILEIEN) ;
  1. N ENCOUNTERIEN
  1. S APPTIEN=PATIENTDATA("APPOINTMENT IEN")
  1. S DFN=$$GET1^DIQ(409.84,APPTIEN,.05,"I")
  1. S CLINICIEN=$$GET1^DIQ(409.831,$$GET1^DIQ(409.84,APPTIEN,.07,"I"),.04,"I")
  1. S ENCOUNTERIEN=$$GETAPT^SDVSIT2(DFN,$$GET1^DIQ(409.84,APPTIEN,.01,"I"),CLINICIEN)
  1. S VISITFILEIEN=$$GET1^DIQ(409.68,ENCOUNTERIEN,.05,"I")
  1. Q
  1. ;
  1. GETDIAGNOSIS(EXPANDEDENTRY,VISITFILEIEN) ;
  1. N PURPOSOFVISITIEN,COUNT
  1. ;
  1. S PURPOSOFVISITIEN=0,COUNT=0
  1. F S PURPOSOFVISITIEN=$O(^AUPNVPOV("AD",VISITFILEIEN,PURPOSOFVISITIEN)) Q:'PURPOSOFVISITIEN D
  1. .S COUNT=COUNT+1
  1. .S EXPANDEDENTRY("ExpandedEntry","ICDDiagnosisCode",COUNT)=$$GET1^DIQ(9000010.07,PURPOSOFVISITIEN,.01,"E")
  1. .S EXPANDEDENTRY("ExpandedEntry","Diagnosis",COUNT)=$$GET1^DIQ(9000010.07,PURPOSOFVISITIEN,.04,"E")
  1. I '$D(EXPANDEDENTRY("ExpandedEntry","ICDDiagnosisCode")) S EXPANDEDENTRY("ExpandedEntry","ICDDiagnosisCode")=""
  1. I '$D(EXPANDEDENTRY("ExpandedEntry","Diagnosis")) S EXPANDEDENTRY("ExpandedEntry","Diagnosis",1)=""
  1. Q
  1. ;
  1. GETSTOPCODES(EXPANDEDENTRY,CLINICIEN) ;
  1. S EXPANDEDENTRY("ExpandedEntry","StopCode","AmisStopCodeNumber")=$$GET1^DIQ(40.7,$$GET1^DIQ(44,CLINICIEN,8,"I"),1)
  1. S EXPANDEDENTRY("ExpandedEntry","StopCode","AmisStopCodeName")=$$GET1^DIQ(44,CLINICIEN,8,"E")
  1. S EXPANDEDENTRY("ExpandedEntry","StopCode","CreditStopCodeName")=$$GET1^DIQ(44,CLINICIEN,2503,"E")
  1. S EXPANDEDENTRY("ExpandedEntry","StopCode","CreditStopCodeNumber")=$$GET1^DIQ(40.7,$$GET1^DIQ(44,CLINICIEN,2503,"I"),1,"I")
  1. I '$D(EXPANDEDENTRY("ExpandedEntry","StopCode")) S EXPANDEDENTRY("ExpandedEntry","StopCode")=""
  1. Q
  1. ;
  1. GETPROVIDERS(EXPANDEDENTRY,VISITFILEIEN) ;
  1. N VISITPROVIDERIEN,COUNT
  1. ;
  1. S VISITPROVIDERIEN=0,COUNT=0
  1. F S VISITPROVIDERIEN=$O(^AUPNVPRV("AD",VISITFILEIEN,VISITPROVIDERIEN)) Q:'VISITPROVIDERIEN D
  1. .S COUNT=COUNT+1
  1. .S EXPANDEDENTRY("ExpandedEntry","Provider",COUNT)=$$GET1^DIQ(9000010.06,VISITPROVIDERIEN,.01,"E")
  1. I '$D(EXPANDEDENTRY("ExpandedEntry","Provider")) S EXPANDEDENTRY("ExpandedEntry","Provider",1)=""
  1. Q
  1. ;
  1. GETPROCEDURES(EXPANDEDENTRY,VISITFILEIEN) ;
  1. N PROCEDUREIEN,MODIFIERIEN,COUNT,COUNT2
  1. ;
  1. S PROCEDUREIEN=0,COUNT=0
  1. F S PROCEDUREIEN=$O(^AUPNVCPT("AD",VISITFILEIEN,PROCEDUREIEN)) Q:'PROCEDUREIEN D
  1. .S COUNT=COUNT+1
  1. .S EXPANDEDENTRY("ExpandedEntry","ClinicalProcedure",COUNT,"ClinicalProcedureCode")=$$GET1^DIQ(9000010.18,PROCEDUREIEN,.01,"I")
  1. .S EXPANDEDENTRY("ExpandedEntry","ClinicalProcedure",COUNT,"NumberOfTimesProcedurePerformed")=$$GET1^DIQ(9000010.18,PROCEDUREIEN,.16,"I")
  1. .S EXPANDEDENTRY("ExpandedEntry","ClinicalProcedure",COUNT,"ProviderNarrative")=$$GET1^DIQ(9000010.18,PROCEDUREIEN,.04,"E")
  1. .;
  1. .S MODIFIERIEN=0,COUNT2=0
  1. .F S MODIFIERIEN=$O(^AUPNVCPT(PROCEDUREIEN,1,MODIFIERIEN)) Q:'MODIFIERIEN D
  1. ..S COUNT2=COUNT2+1
  1. ..S EXPANDEDENTRY("ExpandedEntry","ClinicalProcedure",COUNT,"ClinicalProcedureModifierCode",COUNT2)=$$GET1^DIQ(81.3,$$GET1^DIQ(9000010.181,MODIFIERIEN_","_PROCEDUREIEN_",",.01,"I"),.01,"I")
  1. ..S EXPANDEDENTRY("ExpandedEntry","ClinicalProcedure",COUNT,"ClinicalProcedureModifier",COUNT2)=$$GET1^DIQ(81.3,$$GET1^DIQ(9000010.181,MODIFIERIEN_","_PROCEDUREIEN_",",.01,"I"),.02,"I")
  1. I '$D(EXPANDEDENTRY("ExpandedEntry","ClinicalProcedure")) S EXPANDEDENTRY("ExpandedEntry","ClinicalProcedure",1)=""
  1. Q
  1. ;
  1. GETPATIENTCLASS(EXPANDEDENTRY,APPTIEN) ;
  1. N CLASSNAME,CLASSTYPEIEN,CLASSIEN,OUTPENCOUNTERIEN
  1. ;
  1. S OUTPENCOUNTERIEN=$$GET1^DIQ(2.98,$$GET1^DIQ(409.84,APPTIEN,.01,"I")_","_$$GET1^DIQ(409.84,APPTIEN,.05,"I")_",",21,"I")
  1. S CLASSNAME=""
  1. F S CLASSNAME=$O(^SD(409.41,"B",CLASSNAME)) Q:CLASSNAME="" D
  1. .S CLASSTYPEIEN=0
  1. .F S CLASSTYPEIEN=$O(^SD(409.41,"B",CLASSNAME,CLASSTYPEIEN)) Q:'CLASSTYPEIEN D
  1. ..S EXPANDEDENTRY("ExpandedEntry","PatientClassification",CLASSTYPEIEN,"ClassificationName")=CLASSNAME
  1. ..;
  1. ..I $D(^SDD(409.42,"AO",OUTPENCOUNTERIEN,CLASSTYPEIEN)) D Q
  1. ...S CLASSIEN=0,CLASSIEN=$O(^SDD(409.42,"AO",OUTPENCOUNTERIEN,CLASSTYPEIEN,CLASSIEN))
  1. ...S EXPANDEDENTRY("ExpandedEntry","PatientClassification",CLASSTYPEIEN,"IsClassificationActive")=$$GET1^DIQ(409.42,CLASSIEN,.03,"E")
  1. ..;
  1. ..S EXPANDEDENTRY("ExpandedEntry","PatientClassification",CLASSTYPEIEN,"IsClassificationActive")="NO"
  1. Q
  1. ;
  1. VALIDATE(ERRORS,APPTIEN,SDCONTEXT) ;
  1. N VALRETURN
  1. D VALFILEIEN^SDES2VALUTIL(.VALRETURN,.ERRORS,409.84,APPTIEN,1,,14,15) ;
  1. D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
  1. Q
  1. ;