go to post Kurro Lopez · Sep 2, 2020 You can use DATEDIFF function to check the days between both date set date1 = $zdate($horolog,3) set date2 = $zdate($zdateh("2020-09-01",3),3) write $SYSTEM.SQL.DATEDIFF("dd",date2,date1) // 1 In your scenario it could be like this: $SYSTEM.SQL.DATEDIFF("dd",$ZDATE($ZDATEH(HL7.{PID.7},3),3),$ZDATE($HOROLOG,3)) <= 3 This is a boolean condition, so your rule only have that condition UPDATE Rules only accept functions from functions class, so you should create a new class with that function: Class MyFunctions Extends Ens.Rule.FunctionSet { ClassMethod DaysDobHL7(pDob As %String) As %Integer { set date1 = $zdate($horolog,3) set date2 = $zdate($zdateh(pDob,3),3) quit $SYSTEM.SQL.DATEDIFF("dd",date2,date1) } then, your new function should be visible in rules function Regards,Francisco Lopez
go to post Kurro Lopez · Aug 26, 2020 Finally, I've added the following method in request class Method Find(item As LabCenter) { for i=1:1:..ListCenter.Count(){ set tmp=..ListCenter.GetAt(i) if tmp.LabId=item.LabId, tmp.Center=item.Center, tmp.Code=item.Code return i } quit 0 } By this way, I find my Lab-Center > set obj=##class(ListLabCenter).%OpenId(1) > zw obj obj=<OBJECT REFERENCE>[2@ListLabCenter] +----------------- general information --------------- | oref value: 2 | class name: ListLabCenter | %%OID: $lb("1","ListLabCenter") | reference count: 2 +----------------- attribute values ------------------ | %Concurrency = 1 <Set> +----------------- swizzled references --------------- | i%ListCenter = "" | i%ListCenter(1) = $lb($lb("A08829848","A088298480001","")) | i%ListCenter(2) = $lb($lb("A08829848","A088298480002","")) | i%ListCenter(3) = $lb($lb("A08829848","A088298480003","")) | i%ListCenter(4) = $lb($lb("U66700196","U667001960002","")) | i%ListCenter(5) = $lb($lb("U66700196","U667001960003","")) | r%ListCenter = "1@%Collection.ListOfObj" | r%ListCenter(1) = "3@LabCenter" +----------------------------------------------------- > set objFind = ##class(LabCenter).%New() > set objFind.LabId="A08829848" > set objFind.Center="A088298480003" > zw objFind objFind=<OBJECT REFERENCE>[5@LabCenter] +----------------- general information --------------- | oref value: 5 | class name: LabCenter | reference count: 2 +----------------- attribute values ------------------ | Center = "A088298480003" | Code = "" | LabId = "A08829848" +----------------------------------------------------- > w obj.Find(objFind) 3 > set objFindFake = ##class(LabCenter).%New() > set objFindFake.LabId="FAKE" > set objFindFake.Center="A088298480003" > w obj.Find(objFindFake) 0 Thanks for your help. Best regards,Francisco López
go to post Kurro Lopez · Aug 26, 2020 Thanks for your code. I'm afraid that I'll use a loop to search my lab-center instead of find using a ENSLib function. I've updated my question to clarify what is the real scenario. Best regards,Francisco López
go to post Kurro Lopez · Jul 13, 2020 In this environment, bear in mind that you can use ESC instruction using the same way that I've told you. You can use in both. Have a look this link about ansi ESC sequences http://ascii-table.com/ansi-escape-sequences.php Good luck Regards,Kurro López
go to post Kurro Lopez · Jul 13, 2020 In deed, The problem is in the backspace ($ c (8, ......)) because that character is not recognized in an HTML simulation. Please, try to change this line: f r v#1 q:(v?.1n) w " !no number", $c(27,91)_12_"D" This is the ESC [12D statement which is the same than $c(8) but the WebTerminal is able to interpret it I hope it helps you Best regards, Kurro López
go to post Kurro Lopez · May 28, 2020 We are preparing a great concert to celebrate it with world famous guests, such as Beyonce, Jenifer Lopez, Maluma, Elton John, Paul McCartney, Rosalia, and some other surprises ...We are waiting for the pandemic to allow us to do so, or we are going to have to suspend it. hehehe, just kidding ... we will have a couple of beers for what we have done and for what we are going to do. Thanks @Anastasia Dyubaylo
go to post Kurro Lopez · May 21, 2020 To be honest... I'm using all at the same time: Develop: VSCodeDebug: StudioSynchronize code from server: Atellier I have some problems to synchronize code from server to local code in VSCode, so I trust in Atellier.
go to post Kurro Lopez · Apr 17, 2020 I've checked the locktable and it displays a lot of them :s is possible to unlock all of them at the same time? I have to do one on one...
go to post Kurro Lopez · Feb 20, 2020 That depends on your data model. If you require many related tables, it may be more useful to have the invocation with the data you need by appending the tables by primary keys. SELECT table1.code, table2.descriptionFROM table1INNER JOIN table2 ON table2.tab_id = table1.id Also, it's important create the proper index to the fields that you need to search. There is not a simple answer :) Best Regards,Francisco Lopez
go to post Kurro Lopez · Feb 18, 2020 If you have just one index, you can use the method %AllIndex https://cedocs.intersystems.com/ens201813/csp/docbook/DocBook.UI.Page.cl... You can use it together%IGNOREINDEX to remove the index that you don't need Regards
go to post Kurro Lopez · Jan 30, 2020 Great, I have some questions about VSCode-ObjectScript. It is the best occasion to ask the creator of the application directly.