New post

Find

Announcement
· Aug 6, 2024

★受賞者発表!★InterSystems Python プログラミングコンテスト 2024(USコミュニティ)

開発者の皆さん、こんにちは。

InterSystems Python コンテストの勝者が発表されました!

今回は、9 applications 🔥 の素晴らしい投稿がありました!


Experts Nomination

🥇 1位 - $5,000 は sqlzilla を開発された @Henry Pereira さん @José Pereira さん @Henrique Dias さん に贈られました。

🥈 2位 - $3,000 は iris-RAG-Gen を開発された @Muhammad Waseem さん に贈られました。

🥉 3位 - $1,500 は sheltershare を開発された @Zeljko Sucic さん @Damir Miklos さん に贈られました。

🏅 4位 - $750 は irislab を開発された @Dmitry Maslennikov さん に贈られました。

🏅 5位 - $500 は iris-email-analyzer-app を開発された @Eric Mariasis さん に贈られました。

🌟 $100 は IRIS RAG App を開発された @Alex Alcivar さん に贈られました。

🌟 $100 は IRIS-production-chat-robot を開発された @Ste Sharma  さん に贈られました。

🌟 $100 は ServiceInspection を開発された @Wolis Oliavr さん に贈られました。

🌟 $100 は iris-errors-analysis-graph を開発された @Davi Massaru Teixeira Muta さん @Lucas Fernandes さん に贈られました。

Community Nomination

🥇 1位 - $1,000 は sqlzilla を開発された @Henry Pereira さん @José Pereira さん @Henrique Dias さん に贈られました。

🥈 2位 - $750 は ServiceInspection を開発された @Wolis Oliavr さん に贈られました。

🥉 3位 - $500 は iris-RAG-Gen を開発された @Muhammad Waseem さん に贈られました。

🏅 4位 - $300 は IRIS-production-chat-robot を開発された @Ste Sharma さん に贈られました。

🏅 5位 - $200 は sheltershare を開発された @Zeljko Sucic, @Damir Miklos さん に贈られました。

受賞された皆さん、おめでとうございます!また、コンテストにご興味お持ちいただきありがとうございました!

次のコンテストもご期待ください!

Discussion (0)1
Log in or sign up to continue
InterSystems Official
· Aug 6, 2024

InterSystems annonce la disponibilité générale d'InterSystems IRIS, InterSystems IRIS for Health et HealthShare Health Connect 2024.2

Les versions 2024.2 d'InterSystems IRIS Data Platform, InterSystems IRIS for Health et HealthShare Health Connect sont désormais disponibles en version générale (GA).

POINTS FORTS  DE LA VERSION

2024.2 est une version à livraison continue (CD). De nombreuses mises à jour et améliorations ont été ajoutées dans cette version :

Amélioration de l'expérience des développeurs

  • Suppression de Studio : les installations Windows 2024.2 n'incluent pas l'IDE Studio et la mise à niveau d'une instance existante supprime Studio du répertoire bin de l'instance. Les développeurs qui souhaitent continuer à utiliser Studio doivent télécharger le composant indépendant Studio 2024.1 à partir de la page de distribution des composants WRC.
  • Les Foreign Tables sont désormais entièrement prises en charge : avec la version 2024.2, nous avons tenu compte des commentaires des utilisateurs en accès anticipé, notamment une meilleure gestion des métadonnées, une amélioration de la transmission des prédicats et un meilleur alignement avec la commande LOAD DATA qui ingère plutôt que projette des données externes dans les tables SQL IRIS.
  • Environnement d'exécution Python flexible pour Microsoft Windows - les clients exécutant Microsoft Windows peuvent désormais sélectionner l'environnement d'exécution Python utilisé pour Python intégré.

Amélioration de l'IA et de l'analyse

  • InterSystems IRIS BI - Ajout de plug-ins KPI standard pour calculer l'écart type et la variance en fonction des mesures des tables de faits ainsi qu'une meilleure intégration avec les privilèges du connecteur PowerBI afin que l'utilisateur PowerBI ait accès à tous les cubes qui ne sont pas limités par une ressource ou qui sont des cubes publics
  • InterSystems Reports - Nouvelle version de Logi Report 2024.1 SP2 incluant des améliorations des exportations PDF. Pour plus de détails, consultez les notes de version de Logi Report.


Amélioration de l'interopérabilité et de FHIR

  • NOUVEAU générateur de DTL HL7 : un nouvel ajout à la boîte à outils de productivité destiné à aider les utilisateurs à réduire le délai de rentabilisation lors a) de la migration à partir d'autres fournisseurs OU b) de la création de nouveaux DTL. En fonction des paires de messages source et cible, le générateur DTL crée un squelette DTL avec une logique de transformation simple que l'ingénieur d'interface peut valider et examiner pour toute logique plus complexe manquante requise.
  • Prise en charge de X12 / CMS0057 : en prévision des prochaines exigences d'autorisation préalable CMS0057, la prise en charge d'autres packages de schémas comprend HIPAA 4010, HIPAA 5010 et HIPAA 6020.
    • De plus, la prise en charge des segments longs X12 est désormais incluse.
  • Nouvelle API REST de configuration FHIR (plan de contrôle) : la configuration des serveurs FHIR multi-espaces de noms est simplifiée avec un seul gestionnaire REST pour prendre en charge chaque instance entière. Un nouveau point de terminaison du plan de contrôle (BaseURL : /csp/fhir-management/api) est disponible et offre une sécurité renforcée permettant uniquement aux utilisateurs autorisés par l'espace de noms d'accéder à l'API REST du plan de contrôle.
  • Personnalisation améliorée du serveur IRIS OAuth : la personnalisation d'IRIS for Health OAuth est désormais plus simple grâce à un framework prêt à l'emploi pris en charge et documenté avec une logique de personnalisation du serveur IRIS OAuth intégrée dans un paramètre IRIS for Health. Les valeurs par défaut des « Options de personnalisation » sont renseignées lors de la sélection du hook de classe OAuth approprié.
  • Interface utilisateur améliorée pour la configuration du serveur FHIR et la configuration FHIR en masse :
    • Le tableau de bord de configuration du serveur FHIR amélioré améliore l'expérience de l'utilisateur en tirant parti des API back-end mises à jour pour la configuration d'un serveur FHIR.
    • Le coordinateur FHIR en masse amélioré améliore l'expérience de l'utilisateur en créant un flux de travail intuitif lors de la configuration des serveurs FHIR en masse.


Mises à jour de la plateforme

  • IRIS 2024.2 prend désormais en charge Ubuntu 24.04, pour accompagner la prise en charge d'Ubuntu 22.04.
  • Les conteneurs sont désormais basés sur Ubuntu 24.04.

DOCUMENTATION

Des détails sur toutes les fonctionnalités mises en évidence sont disponibles via les liens ci-dessous :

Voici la liste de contrôle de mise à niveau d'InterSystems IRIS pour 2024.2.

COMMENT OBTENIR LE LOGICIEL

Comme d'habitude, les versions à livraison continue (CD) sont fournies avec des packages d'installation classiques pour toutes les plateformes prises en charge, ainsi que des images de conteneur au format de conteneur Docker. Pour une liste complète, reportez-vous à la page Plateformes prises en charge.

Packages d'installation classiques

Les packages d'installation sont disponibles sur la page des versions à livraison continue du WRC. De plus, des kits sont également disponibles sur le site Web des services d'évaluation. InterSystems IRIS Studio est toujours disponible dans la version et vous pouvez l'obtenir à partir de la page de distribution des composants du WRC.

Conteneurs

Les images de conteneur pour les éditions Enterprise et Community d'InterSystems IRIS et IRIS for Health et tous les composants correspondants sont disponibles à partir de l'interface Web InterSystems Container Registry.

✅ Le numéro de build de cette version est : 2024.2.0.247.0, à l'exception des kits OpenSSL 1.0 AIX qui sont 2024.2.0.247.1. Si vous êtes dans l'ICR, les conteneurs sont étiquetés comme « latest-cd ».

Discussion (0)0
Log in or sign up to continue
Article
· Aug 6, 2024 4m read

InterSystems ObjectScript中一些有用的自动生成的方法

在使用 InterSystems ObjectScript 进行编程时,当你定义了属性property、查询query或者索引index,系统会在编译的过程中自动创建与之相关的一些方法,这篇文章对这些方法做了些总结:

 

属性Properties

1. 假设你定义了一个属性 Property, 下面的方法会被自动创建

ClassMethod PropertyGetStored(id)

对于数据类型属性,这个函数将返回其逻辑值,对于对象属性,返回id。这是一个对类global数据的封装,也是获取单例属性值(singular property value)最快的方法。此方法仅适用于已持久化存储的属性。

这里是一段采用多种方法读取数据的对比代码,用于测试各种访问数据方式的时间差异,其结果是:

Iterations: 10000
Object access: .130111
GetStored access: .014388
SQL access: .020268
Global access: .007717
Object access takes 904.30% of GetStored time
Object access takes 641.95% of SQL time
Object access takes 1686.03% of Global time
GetStored access takes 70.99% of SQL time
GetStored access takes 186.45% of Global time
SQL access takes 262.64% of Global time

其中:

  • Object access 是打开一个对象,并读取其属性值
  • SQL access 使用嵌入式SQL
  • GetStored 使用本文所述自动生成的方法
  • Global 使用直接读取保存属性值的global

2. 

Method PropertyGet()

这个函数是属性的getter,可被重新定义。

3.

Method PropertySet(val) As %Status

这个函数是属性的setter, 可被重新定义。

 

对象属性 Object properties

1. 如果是一个对象属性,有关ID以及OID的方法会被创建

Method PropertySetObjectId(id)

这个方法通过对象的Id设置属性值,也就是不需要首先打开一个对象,再设置该对象的属性值。

例如下面定义了两个类

Class Person Extents %Persistent {

Property EmployedAt As Company;
}


Class Company Extends %Persistent {

}

通常来说你要将Company赋值给Person是这样写的:

set person = ##class(Person).%New()
set companyId = 123
set company = ##class(Company).%OpenId(companyId)
set person.EmployedAt = company

但是如果你使用PropertySetObjectId方法,就可以这样写:

set person = ##class(Person).%New()
set companyId = 123
do person.EmployedAtSetObjectId(companyId)

可以看到,这样写的不同点就是,你不需要打开Company这个对象,就可以直接赋值。

2. 

Method PropertyGetObjectId()

这个方法返回属性值的Id

3. 

Method PropertySetObject(oid)

这个方法通过OID设置属性值

4. 

Method PropertyGetObject()

这个方法返回属性值的OID

 

数据类型属性Datatype properties

1. 对于数据类型属性会生成多个在不同格式间转换的函数:

ClassMethod PropertyDisplayToLogical(val)
ClassMethod PropertyLogicalToDisplay(val)
ClassMethod PropertyOdbcToLogical(val)
ClassMethod PropertyLogicalToOdbc(val)
ClassMethod PropertyXSDToLogical(val)
ClassMethod PropertyLogicalToXSD(val)
ClassMethod PropertyIsValid(val) As %Status

检查val是否为有效的属性值

2.

ClassMethod PropertyNormalize(val)

返回标准化的逻辑值

注意:

  • 定义的关系(Relationship)也是属性,可以使用 get/set 方法
  • 输入值 val 总是指逻辑值,格式转换方法除外

 

索引Indexes

1. 对于命名为"Index"的索引,下面函数会被自动创建

ClassMethod IndexExists(val) As %Boolean

该函数判断val的索引是否存在。

 

唯一索引Unique Indexes

1. 对于唯一索引,下面函数会被自动创建

ClassMethod IndexExists(val, Output id) As %Boolean

判断val的索引是否存在,并且通过第二个参数返回该对象的id。

2. 

ClassMethod IndexDelete(val, concurrency = -1) As %Status

通过val,删除索引

3. 

ClassMethod IndexOpen(val, concurrency, sc As %Status)

通过val返回该对象。

注意: 

  • 索引可基于多个属性创建,如何使基于多个属性创建的索引,那么函数的输入参数则是多个,比如这样的索引定义:
Index MyIndex On (Prop1, Prop2);

那么IndexExists函数则会是下面这样的:

ClassMethod IndexExists(val1, val2) As %Boolean

其中val1对应于Prop1的值, val2对应于Prop2的值,其他的函数遵循同样的逻辑。

  • Caché 生成的 IDKEY索引,是基于ID字段创建的索引。它同样可被重写,以及包含多个属性。例如,检查该类是否有某属性定义:
Write ##class(%Dictionary.PropertyDefinition).IDKEYExists(class, property)
  • 所有索引函数检查的都是逻辑值
  • 文档参见这里

 

查询Queries

1. 对于查询queries(它可以是一个简单的SQL查询,或者用户自定义的类的查询),命名为"Query"Func的方法会被自动创建:

ClassMethod QueryFunc(Arg1, Arg2) As %SQL.StatementResult

它会返回一个 %SQL.StatementResult,可被用于便利查询。比如对于在Samples命名空间下的Sample.Person类,定义了一个ByName的查询,它接受一个输入参数,它可以直接通过下面方法在代码中调用:

Set ResultSet=##class(Sample.Person).ByNameFunc("A")
While ResultSet.%Next() { Write ResultSet.Name,! }

另外,这里是一个在GitHub上的示例,用于演示上面的方法使用。

Discussion (0)1
Log in or sign up to continue
Article
· Aug 6, 2024 7m read

Auth0 と InterSystems IRIS FHIR サーバーを使った SMART On FHIR アプリケーションの開発 - 構成編

前回の記事でSMART On FHIRプロジェクトのアーキテクチャを紹介したので、いよいよ本題に入り、必要となる全ての要素の設定を始めましょう。

まずはAuth0から始めます。

Auth0の設定

登録が完了したら、左側のメニューから最初のアプリケーションを作成します

Application menu

この例では、Angular 16で開発されたアプリケーションなので、Single Page Web Applicationタイプとなります。このオプションを選択し、Createをクリックします。

Discussion (0)1
Log in or sign up to continue
Article
· Aug 5, 2024 2m read

第一章 修改 Web 客户端

第一章 修改 Web 客户端

修改 Web 客户端

生成 Web 客户端类后,通常不需要编辑该类。相反,需要编写代码来创建该类的实例并提供客户端错误处理。本主题讨论了微调 Web 客户端的各种方法,可以通过修改 Web 客户端实例或(不太常见)修改生成的类来实现。

注意:不要创建生成的 Web 客户端类的子类。编译器不会生成正常运行所需的支持类,因此子类将无法使用。

禁用 Web 客户端的 Keep-Alive

默认情况下,如果重复使用 Web 客户端实例来发送多条请求消息,IRIS 会在一次 HTTP 传输中发送所有消息(使用 HTTP 1.1 保持活动连接)。具体来说,IRIS 保持 TCP/IP 套接字打开,这样 IRIS 就无需关闭并重新打开它。要禁用此保持活动行为,请执行以下操作之一:

Discussion (0)1
Log in or sign up to continue