Respuestas

皆さん、こんにちは!

コンテスト応募締め切りまで残り4日となりましたが、FullStack用開発テンプレート が追加されました!

詳細は、日本語Readme をぜひご参照ください!

↓以下、Readme の内容を一部ご紹介します↓

このリポジトリは「coffee-maker shop」デモ用の InterSystems IRIS REST API とフロントエンドアプリケーションで構成されたサンプルアプリケーションです。

このデモを通して、フロントエンドアプリケーションから InterSystems IRIS への接続方法がご確認いただけます。 リポジトリには、ユニットテストコードも含まれていて、インタラクティブに実行できるほか、ZPM を使ったり、GitHub CI(GitHub Actions) を介して実行することもできます。

Docker コンテナを使った開発方法のデモも含まれています また、ZPM モジュールでアプリケーションをパッケージ化する方法、ZPM を使ってデプロイする方法も含まれています。

優勝おめでとうございます!

IRIS FHIR Portal を日本の開発者の皆さんへご紹介したいので IRIS FHIR Portal 紹介ビデオ(日本語)を作成しました。

開発テンプレートの使い方ビデオを公開しました!

FHIR コンテストのテンプレートの使用方法をご紹介しています。

テンプレートをご利用いただくためには、以下 (3) にある3つのソフトウェアのインストールが必要です。

ビデオ内で記述しているコマンドなどは、(4)以降 をご参照ください。

 
(1) IRISオンラインプログラミングコンテスト FHIRコンテストの詳細

この記事

(2) テンプレートの説明

(3) 事前準備

(4) コマンド実行例

開発テンプレートのダウンロード

 

コンテナ作成のためのビルド

docker-compose build

 

コンテナの開始

docker-compose up -d

 

コンテナの停止

docker-compose stop

 

コンテナ一覧を表示

docker ps

 

コンテナ一覧に表示されるコンテナ名を使用してコンテナにログインします。

docker exec -it <コンテナ名> bash

(5) 目次(YouTubeでご覧いただくと指定秒数にジャンプできます)

最初から~ コンテスト告知ページから開発テンプレート公開ページへの移動方法

00:49~ iris-fhir-template テンプレートのダウンロード(git clone)

01:11~ テンプレートに含まれるコードの紹介(VSCode利用)

01:51~ コンテナの中身について

03:05~ コンテナ開始
     FHIRリポジトリにインポートしているサンプルデータについて

03:35~ RESTクライアントからの確認方法(Postman利用例について)

04:25~ サンプルアプリ(HTML)で実行しているGET要求の説明

06:20~ PostmanからサンプルURLを実行
    (Patientに対するGET要求、AppointmentのPOST要求など)

10:10~ サンプルアプリ(HTML)の実行

12:25~ Patientデータを増やす方法
 参考URL: https://github.com/intersystems-community/iris-fhir-template/blob/master...

ぜひ、IRISプログラミングコンテストへご応募ください!

My samples is using 2 JavaScript libraries.
 1)  JSZip(http://stuk.github.io/jszip)
 2)  FileSaver.js(https://github.com/eligrey/FileSaver.js/).
These library can downloads some files from one path at once and save as one Zip file.
Simple samples is below:::
 

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
 <script type="text/javascript" src="http://stuk.github.io/jszip/dist/jszip.min.js" charset="utf-8"></script>
 <script src="FileSaver.min.js" charset="utf-8"></script>
</head>
<body>
<form name=f1 method=post>
<h2>Download+Zip Simple sample</h2>
Please set urlList variable correct file path in startDL() before testing.
<br>
<input type="button" name="b1" value="Download" onclick=startDL()>
</form>
<script type='text/javascript'>
function startDL(){

// urlListにはダウンロード用ファイルを直接指定しています。
// 【注意】日本語を含むファイル名はダウンロードできません。
var urlList = ["./ImageTest/IMG_3587.JPG","./ImageTest/IMG_3598.JPG"]
console.log(urlList);

zip = new JSZip();
deferreds = $.Deferred();
var promise = deferreds;


$.map(urlList,function(value,index) {
    console.log('urlList:index='+index+' = '+value);
    console.log('match() : '+value.match(".+/(.+?)([\?#;].*)?$")[1]);

promise = promise.then( function() {
var newPromise = new $.Deferred();

var xhr= new XMLHttpRequest();
  xhr.open('GET',value,true);
xhr.responseType='arraybuffer';
xhr.addEventListener('load', function() {

// zipにレスポンスデータ追加
zip.file(value.match(".+/(.+?)([\?#;].*)?$")[1],xhr.response);
newPromise.resolve();
});
xhr.send();
        return newPromise;
});

});

promise.then( function() {
zip.generateAsync({type:"blob"}).then( function(content){
saveAs(content,'test.zip');
});

});
deferreds.resolve();
}
</script>
</body>
</html>

I attached sample for mojo+dojo.downloadandzip-mojo-dojo_1.zip

My samples is using 2 JavaScript libraries.
 1)  JSZip(http://stuk.github.io/jszip)
 2) FileSaver.js(https://github.com/eligrey/FileSaver.js/).
These library can downloads some files from one path at once and save as one Zip file.
Simple samples is below:
 

<!DOCTYPE html>downloadandzip-mojo-dojo_0.zip
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
 <script type="text/javascript" src="http://stuk.github.io/jszip/dist/jszip.min.jscharset="utf-8"></script>
 <script src="FileSaver.min.js" charset="utf-8"></script>

</head>
<body>
<form name=f1 method=post>
<h2>Download+Zip Simple sample</h2>
Please set urlList variable correct file path in startDL() before testing.
<br>
<input type="button" name="b1" value="Download" onclick=startDL()>
</form>
<script type='text/javascript'>
function startDL(){
// urlListにはダウンロード用ファイルを直接指定しています。
// 【注意】日本語を含むファイル名はダウンロードできません。
var urlList ["./ImageTest/IMG_3587.JPG","./ImageTest/IMG_3598.JPG"]
console.log(urlList);

zip new JSZip();
deferreds $.Deferred();
var promise deferreds;

$.map(urlList,function(value,index) {
    console.log('urlList:index='+index+' = '+value);
    console.log('match() : '+value.match(".+/(.+?)([\?#;].*)?$")[1]);

promise promise.then( function() {
var newPromise new $.Deferred();

var xhrnew XMLHttpRequest();
  xhr.open('GET',value,true);
xhr.responseType='arraybuffer';
xhr.addEventListener('load', function() {

// zipにレスポンスデータ追加
zip.file(value.match(".+/(.+?)([\?#;].*)?$")[1],xhr.response);
newPromise.resolve();
});
xhr.send();
        return newPromise;
});

});

promise.then( function() {
zip.generateAsync({type:"blob"}).then( function(content){
saveAs(content,'test.zip');
});

});
deferreds.resolve();
}
</script>
</body>
</html>

I attached sample for mojo+dojo.