Sebastian Thiele · Mar 4, 2025 go to post

Hi Ashok,

sorry for the late response. That get me a little further. The approach of ordering by date seem to work only as long as all of the resources have a period.start and period.end provided. In my scenario the most acutal encounter doesn´t have an period.end set since it has not yet ended. The field period.start of one encounter is the the period.end of it´s predecessor.  Can you confirm that behaviour of the FHIR server if no period.end is set? If so what would be your approach?

best regards,
sebastian

Sebastian Thiele · Feb 27, 2025 go to post

Hi Ashok,

seems there is no Encounter resource in your post. Did you missed that?

best regards,
Sebastian

Sebastian Thiele · Feb 27, 2025 go to post

Hi Ashok,

thank you for the response. This url is the exact same syntax that I used above (possibly my links contracted by the UI and therefore not fully visible). Anyway in my case there is no filtering applied at all and simply all encounters are returned regardless of the date. Could you post your encounter resources he used for testing so I can test if it is a FHIR server version specific issue?

best regards,
Sebastian

Sebastian Thiele · May 28, 2024 go to post

Hi Ashok,

thank you for the reply. Seems you post misses the additional community links? Anyway - so it´s correct that in releases prior to 2023.3 there is no real use for FHIR profiles only consisting of a structure definition since there is no support for resource validation?

best regards,
Sebastian

Sebastian Thiele · Dec 14, 2023 go to post

When assigning %All to the user "FhirClient" the Fhir Server does not respond with status 403. Revoking %All from the user shows the old behaviour. Since the WebApplication was created from creating the FHIR server I thought at least the required permissions would be set sufficiently.

I´ll post some screens for this today.

Sebastian Thiele · Oct 9, 2023 go to post

That Wolf require to know what has been changed wich is problematic in a batch Import since i would need to fetch, analyse, prepare etc. Resources and push it to the fhir Server. Isn‘t there any more simple options for this?

Sebastian Thiele · Oct 9, 2023 go to post

Hi Guillaume,

thanks for the example. As pointet Customer runs version 2022.1.3 insgesamt of 2023.x is there any way to accomplish this in Version 2022.1? From your second call i‘ve noticed That the resources were updated despite no modificatons in the resource contents were made. Is there any way to update only when modifications were made?

best Regards,

sebastian 

Sebastian Thiele · Oct 6, 2023 go to post

That adjustment didn´t work either. Maybe there need to be another adjustment in the bundle to supoort my scenariao? This is recieving the bundle (i can manipulate it) send it to the InterSystems FHIR server and conditionaly create and/or conditionaly update the resources in the FHIR server.
How would you (based on the organization scenario) would your bundle look like?

Sebastian Thiele · Oct 6, 2023 go to post

The FHIR server is the Intersystems FHIR Server. The above depicted bundle does the conditional create this works when using "method": "POST". Replacing PUT with POST requires (of course) an ID - I´ll try it the way you done it in your sample using

Organization?identifier=www.nationalorgidentifier.gov|888333111"
Sebastian Thiele · Sep 16, 2023 go to post

Hi Tani,

The Support for conditional update for a ressource seems to exists also in iris for health Version 2022.1.3 (at least docs state this). Van you confirm that? Bades in josephs example from above what could the conditional Update on Patient ressource Look Like? Asfaik the conditional update could insert a non existing resource as well.

best Regards,

sebastian

Sebastian Thiele · Jun 2, 2023 go to post

Hi,

solution in my case was to use HS.FHIR.DTL.Util.JSON.Adapter with method FromJSON(stream, fhirVersion) which returns me the filled in model for my fhir resource data.

best regards,
Sebastian

Sebastian Thiele · Jan 14, 2022 go to post

Disabling trace Events on an active Message Router requires the Router to be stoppen and started again. After That no trace events will be logged anymore. You also should have rule logging setting of Router in mind when doing so. When starting/stoppen the Message Router consider its pool size setting to avoid side effects such as stop of Ens.Actor queue.

Sebastian Thiele · Jun 18, 2021 go to post

Thanks for the hint, action "remove" didn´t work - switching to "clear" removes the field entirly.

best regards,
Sebastian

Sebastian Thiele · Jun 18, 2021 go to post

Hi,

you could also prepare the sql´s within an editor and in the SQL browser sqlect a dialect "MSSQL". The dialect field to choose from is only visible if you click the "more" button next to the max entries to return field.

Adter that you just place your inserts and you are good to go.

best regards,
sebastian

Sebastian Thiele · Sep 10, 2020 go to post

Hi Craig,

sry for the late response. Thank you this is what I was already thinking about. I´ve did some tests and the approach works for me. I´ve marked your as accepted.

Anyway I´am still highly interessted in InterSystems point of view on this.

best regards,

sebastian

Sebastian Thiele · Sep 3, 2020 go to post

Hi Craig,

thank you for your response. So first of all good to hear that I am not the only one with this kind of questions. I assume you don´t configured an OAuth Client via SMP directly but instead do the  invocation of the API endpoint to get the token directly in the operation - therefore you should not use any %OAuth... framework-functionalities from within the operation - am I correct?

It would be very interesting to here from InterSystems what would be the best practise here. Anyway this should work. Could you supply me with an example of how you implemented the GetBearerToken() method?

best regards,

sebastian

Sebastian Thiele · Jun 5, 2019 go to post

Thank you for that hint. Adding the xml schema definition to the studio-project would make transport to other system stages a lot more easier. One don´t need to remember where schemas are stored and doesn´t need to to organize schemas in seperated files floating around the file system. I guess I´ll end up adding the EnsEDI.XML.Schema global to my studio project. Thanks again for that hint.

Sebastian Thiele · May 20, 2019 go to post

Hi Robert,

my intention was to add the imported xsd schema to a studio project. However, I didn´t generated any classes explicitly. I´ve just imported a xsd schema in the management portal and expected (wich works fine) but expected to have xsd-schema availabe in studio just like with hl7-schema (*.HL7). So I guess there is no way for doing that directly and therefore I need to place the schema file in mit default csp location to be able to add it to a studio project. I see no other way to be able to have that schema to be available for comparision (diff).

kind regards,

sebastian

Sebastian Thiele · Mar 7, 2019 go to post

Hi Eduard,

already did this. the role %Developer should already include the %EnsRole ressources. Even assigning them to the created role manually gives me that error when logging in. Somehow as part of the login procedure, the cachelib db is accessed. Even if granting the ressources of cachelib the error remains.

kind regards,

sebastian

Sebastian Thiele · Feb 22, 2019 go to post

If you are running Ensemble or HealthShare you may have a look at Ens.Util.Time or Ens.DataType.UTC. They provide an API to work with different time formats and also theire conversions. In Ens.DataType.UTC there is a method timeLocaltoUTC pass in you value and you don´t have to worry about.

Sebastian Thiele · Jan 8, 2019 go to post

Thank you Eduard for the fast response on my questions. This totaly meets my usecase.

Best regards,

Sebastian

Sebastian Thiele · Aug 17, 2018 go to post

Hi,

as my advisor told me. This is a bug in Ensemble/Caché release 2017.2.2 since the intended behaviour to set sqltablename on serverside is sufficient and this specific security consideration reported a "false positive" - if I got it right a correction for this is available with ensemle 2018.1 and is identified as SAM524. The current workaround is to use both approaches setting tablename on the server and use permitclientsql = "true".

Anyway I´ll mark this issue here as solved/answered.

Best regards,

Sebastian

Sebastian Thiele · Aug 4, 2018 go to post

Hi,

after talking to WRC and some testing. The approach altering the ZEN tablePane, tableName on the server as depicted above works until 2017.1.2. From 2017.2.1 it seems to be reqiured to have an additional property for the tablePane to be set. This property is calles ´permitClientSQL´ (set to true). This isn´t well documented in my opinion and the behaviour is to weaken the security. But even when set to true this property still requires to have the tableName property on the server despite documentation says something different.

They´ll have a look at it, since my advior himself wasn´t quite sure what that change between 2017.1 and 2017.2 is about. Keep you update when I´ve got some new details.

best regards,

sebastian

Sebastian Thiele · Mar 7, 2018 go to post

Digging the intersystems learning facility the course can also be found through the learning catalogue on learning.intersystems.com.

best regards,

Sebastian

Sebastian Thiele · Mar 6, 2018 go to post

Hi,

the link seems to be broken. Any chance to get this article back up?

best regards,

sebastian

Sebastian Thiele · Dec 5, 2017 go to post

Hi,

after looking into the example and some local testing I found this is what I am looking for. Anyway one of the major points in my opinion is to deseriialize the email into a stream, write this one into a file an pass it to the oppenssl command and parse the result. Are there any suggestions for the step of deserialization the email with it´s entire contents to a stream? The api seams at least not the have a direct method(s) for this. Hof can this be achieved?

Best regards,

sebastian