go to post Scott Roth · Feb 13 @Robert Hurst I am finding that when I compile class files that Extends Common.JDBC.MakeRequestClass at least in 2025.1 it is not generating the necessary Message Class correctly. Have you experienced that?
go to post Scott Roth · Feb 12 And I had thought I had set a record with the number of lines I had in a process....
go to post Scott Roth · Feb 5 Updated all the Child Data Structures to be %SerialObjects instead of %RegisteredObjects, but that did not make a difference. I am still not seeing anything within the Trace Viewer when the Response is sent back to the Process.
go to post Scott Roth · Jan 5 I was able to figure it out, and get it to work.. Class osuwmc.DataLookup.REST.TableLookup Extends osuwmc.DataLookup.REST.Base { Parameter Version = "1.0.0"; Parameter HandleCorsRequests = 0; XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ] { <Routes> <!-- Server Info --> <Route Url="/" Method="GET" Call="GetInfo" /> <Route Url="/EpicDepartment" Method="GET" Call="GetAllEpicDepartments" /> <Route Url="/EpicDepartment/:departmentID" Method="GET" Call="GetEpicDepartment"/> </Routes> } ClassMethod GetInfo() As %Status { SET version = ..#Version SET info = { "version": (version) } RETURN ..%ProcessResult($$$OK, info) } ClassMethod GetAllEpicDepartments() As %Status { SET tSC = $$$OK set %response.ContentType = ..#CONTENTTYPEJSON set rset = ##class(osuwmc.Epic.Clarity.DepartmentMaster).ExtentFunc() write "[" if rset.%Next(){ set department = ##class(osuwmc.Epic.Clarity.DepartmentMaster).%OpenId(rset.ID1) do department.%JSONExport() } while rset.%Next(){ write "," set department = ##class(osuwmc.Epic.Clarity.DepartmentMaster).%OpenId(rset.ID1) do department.%JSONExport() } write "]" quit tSC } ClassMethod GetEpicDepartment(departmentID As %String) As %Status { #dim tSC as %Status = $$$OK #dim e As %Exception.AbstractException #dim id as %Integer set %response.ContentType = ..#CONTENTTYPEJSON &sql(SELECT ID1 INTO :id FROM osuwmc_Epic_Clarity.DepartmentMaster WHERE ID = :departmentID) IF SQLCODE<0 {WRITE "SQLCODE error ",SQLCODE," ",%msg QUIT} ELSEIF SQLCODE=100 {WRITE "Query returns no results" QUIT} set department = ##class(osuwmc.Epic.Clarity.DepartmentMaster).%OpenId(id) Do department.%JSONExport() QUIT tSC } ClassMethod SwaggerSpec() As %Status { Set tSC = ##class(%REST.API).GetWebRESTApplication($NAMESPACE, %request.Application, .swagger) Do swagger.info.%Remove("x-ISC_Namespace") Set swagger.basePath = "/api/mgmnt/v1/TESTCLIN/spec/TableLookup" Set swagger.info.title = "REST API to Access and Query OSUWMC Cache Tables" Set swagger.info.version = "0.1" Set swagger.host = "intengtest" Return ..%ProcessResult($$$OK, swagger) } }
go to post Scott Roth · Jan 5 That helped. I was able to get my first two Method's called; however, I am struggling now with passing a value into the message. <Routes> <!-- Server Info --> <Route Url="/" Method="GET" Call="GetInfo" /> <Route Url="/GetAllEpicDepartments" Method="GET" Call="GetAllEpicDepartments" /> <Route Url="/GetEpicDepartment" Method="GET" Call="GetEpicDepartment" /> </Routes> ClassMethod GetEpicDepartment(ID As %String) As %Status { SET tSC = $$$OK set sql = "SELECT ID as DepartmentID, Abbr, Name, ExternalName, PhoneNumber, ApptPhone, FaxNumber, Address1, Address2, City, Zip, Specialty, RevLocID, RevLocName, BuildingCategoryID, BuildingName, DepCategoryTypeID, DepType, Center, EAFParent, CostCenter FROM osuwmc_Epic_Clarity.DepartmentMaster WHERE ID = ?" do ##class(%ZEN.Auxiliary.jsonSQLProvider).%WriteJSONFromSQL(,,sql,ID) return tSC } When I try to pass... https://intengtest/api/mgmnt/v1/TESTCLIN/spec/TableLookup/GetEpicDepartment/{ID} into postman I get the following... { "errors": [ { "code": 5002, "domain": "%ObjectErrors", "error": "ERROR #5002: ObjectScript error: <REGULAR EXPRESSION>PatternSet+4^%Regex.Matcher.1", "id": "ObjectScriptError", "params": [ "<REGULAR EXPRESSION>PatternSet+4^%Regex.Matcher.1" ] } ], "summary": "ERROR #5002: ObjectScript error: <REGULAR EXPRESSION>PatternSet+4^%Regex.Matcher.1" }
go to post Scott Roth · Jan 2 Creating a REST Service within InterSystems is rather a new concept for me since I am used to the Interoperability (HL7, JDBC, etc..) world. I found some examples out on Open Exchange and other posts that I am trying to figure out how I can mold it into something appropriate for this Use Case.
go to post Scott Roth · Jan 2 The Enterprise Application Developers (Web Team) that develop our External Patient facing Applications are not used to trying to connect to something other than Microsoft SQL from .Net. So, trying to find a way to expose this via a REST application would be helpful and less time consuming then trying to figure out the InterSystems Drivers to connect via ODBC/JDBC from .Net.
go to post Scott Roth · Jan 2 That is why this was concerning; I didn't want to grant %Development to this new user I was going to create for this purpose. Any suggestions on what else I could do?
go to post Scott Roth · Dec 30, 2025 I ended up taking the QuickStream response, and creating a dynamic object from the JSON in the quick stream to parse it apart.
go to post Scott Roth · Dec 30, 2025 Using a variable, I created a bunch of IF Statements to either append to the end of the variable or add value to the variable. Once I went through all the necessary fields, I set target.Request.QueryString = the variable.
go to post Scott Roth · Dec 30, 2025 This has been resolved. Working with another Hospital System we combined our efforts and came up with Code to take the Encoded HL7 Response, decode, and parse it apart to handle the ACK/NCK.,
go to post Scott Roth · Dec 30, 2025 Worked with WRC and Product on how we could capture this and send the Data Mapping issues within Provider Directory to a Worklist Task.
go to post Scott Roth · Dec 30, 2025 I worked with WRC and found out how to create a Template for the ncessary fields.
go to post Scott Roth · Dec 26, 2025 I have updated the structures so both Request and Response have different %Persistent classes, but I am still running into the same issue. " Event Text Warning 808842808 Warning on Message body 18@osuwmc.Epic.FHIR.DataStructures.PatientSearch.Request'/ 17 because Status 'ERROR <Ens>ErrException: <INVALID OREF>Transform+3 ^osuwmc.Scott.FHIR.DemoOutboundHL7Message.1 -- logged as '-'number - @'Set:""=source.DocType tBlankSrc=1, source.DocType="ORMORUPDF:MDM_T02"''matched ReplyCodeAction 1 : 'E=W'resulting in Action code W"
go to post Scott Roth · Dec 26, 2025 Great tip, for connections that go through our Firewall to outside of our network using a VPN we typically use a setting of 3600 to ensure we are getting a fresh connection after a period of inactivity. I have found especially with some of our applications that use AWS, that they are not respecting the Disconnect, so we have to ensure our settings match theirs.
go to post Scott Roth · Dec 17, 2025 When you say pNewTarget, does that mean the Object that the message should be sent to?
go to post Scott Roth · Dec 16, 2025 Congrats to all of DC, it has been an honor not only contribute but to learn from everyone as well.