2024-06-23
ハピラインの次の電車を知るアプリ「発車カウントダウン」がかわいくリニューアル!

「ラクらいん」
src on GitHub / design by Site. Ataka Risa
昨年の鯖江市地域活性化プランコンテストの参加学生が、デザインを手掛けてくれました!


ペルソナを作ってターゲットを明確化 (design by Site. Ataka Risa)


そのペルソナはアプリをどのように使うのかを、ユーザーシナリオで明確化 (design by Site. Ataka Risa)


ユーザーシナリオをもとにしたフロー図 (design by Site. Ataka Risa)


UIデザインに! (design by Site. Ataka Risa)


つくってくれたFigmaのデザインをもとにWebアプリにしてみましょう! (design by Site. Ataka Risa)


GPT4oくんに依頼してみるとざっくりは作ってくれましたが、細かい調整が多数必要そうなので、今回は手作業。


「ラクらいん」
src on GitHub / design by Site. Ataka Risa
つつじバスなどとの乗り換え案内機能は未実装。一緒にシビックテックでつくってくれるデザイナー、プランナー、エンジニア、その他何でも、メンバー募集中です!
Code for FUKUI

2024-06-22
MOSS, Japan主催の「第15回医療オープンソースソフトウェア協議会セミナー」にて、「OSSで加速するオープンデータの社会実装とシビックテック」と題して情報提供。「FSH(フィッシュ)」という医療データ固有言語を中心に、オープンソースで開発が進む、医療データ活用の取り組みを知りました。


「MOSS, Japan」

ちょうど15回目、参加者15人!


デジタル化する課題はどの業界も共通。セキュリティとプライバシーと信頼性を安く楽しく実現することが、いままでの慣習からの脱却の鍵!


「HL7.FHIR.UV.SHORTHAND\FHIR Shorthand - FHIR v4.0.1」

データ共有の肝は、使う用語の統一!
FHIR(= Fast Healthcare Interoperability Resources、ファイアーと呼ばれる)は、手早く設計し導入できる保健医療分野の相互運⽤性リソース。
FSH(= FHIR Shorthand、短縮版FHIR、フィッシュと呼ばれる)は、医療に関する各データをシンプルなテキスト形式で表記する。
RDFによる表現も定義されており、5つ星オープンデータとも相互運用が可能!


ひとまずFSHに触れてみるため、簡単なオープンソースづくりからスタートします。FSHで記述されたかんたんな患者データサンプルですが、JSON表現への変換ができました。

もとになるFSH(FHIRのJp Core実装のための開発用レポジトリJP_Patient_Example.fshより)

Instance: jp-patient-example-1 InstanceOf: Patient Usage: #example * meta.profile = "http://jpfhir.jp/fhir/core/StructureDefinition/JP_Patient" * identifier.system = "urn:oid:1.2.392.100495.20.3.51.11311234567" * identifier.value = "00000010" * name[0].extension.url = "http://hl7.org/fhir/StructureDefinition/iso21090-EN-representation" * name[=].extension.valueCode = #IDE * name[=].use = #usual * name[=].text = "山田 太郎" * name[=].family = "山田" * name[=].given = "太郎" * name[+].extension.url = "http://hl7.org/fhir/StructureDefinition/iso21090-EN-representation" * name[=].extension.valueCode = #SYL * name[=].use = #usual * name[=].text = "ヤマダ タロウ" * name[=].family = "ヤマダ" * name[=].given = "タロウ" * telecom.system = #phone * telecom.value = "0312345678" * telecom.use = #home * gender = #male * birthDate = "1970-01-01" * address.postalCode = "1600023" * address.text = "東京都新宿区" * extension[0].url = "http://hl7.org/fhir/StructureDefinition/patient-religion" * extension[=].valueCodeableConcept = http://terminology.hl7.org/CodeSystem/v3-ReligiousAffiliation#1046 "Shinto" * extension[+].url = "http://hl7.org/fhir/StructureDefinition/patient-birthPlace" * extension[=].valueAddress.state = "東京" * extension[+].url = "http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_Patient_Race" * extension[=].valueCodeableConcept = http://terminology.hl7.org/CodeSystem/v3-Race#2039-6 "Japanese"

[0]や[+]などを使った配列データの記載方法がおもしろい!
下記が、変換したJSON

{ "resourceType": "Patient", "id": "jp-patient-example-1", "meta": { "profile": [ "http://jpfhir.jp/fhir/core/StructureDefinition/JP_Patient" ] }, "identifier": [ { "system": "urn:oid:1.2.392.100495.20.3.51.11311234567", "value": "00000010" } ], "name": [ { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-representation", "valueCode": "IDE" } ], "use": "usual", "text": "山田 太郎", "family": "山田", "given": [ "太郎" ] }, { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-representation", "valueCode": "SYL" } ], "use": "usual", "text": "ヤマダ タロウ", "family": "ヤマダ", "given": [ "タロウ" ] } ], "telecom": [ { "system": "phone", "value": "0312345678", "use": "home" } ], "gender": "male", "birthDate": "1970-01-01", "address": [ { "postalCode": "1600023", "text": "東京都新宿区" } ], "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/patient-religion", "valueCodeableConcept": { "coding": [ { "code": "1046", "system": "http://terminology.hl7.org/CodeSystem/v3-ReligiousAffiliation", "display": "Shinto" } ] } }, { "url": "http://hl7.org/fhir/StructureDefinition/patient-birthPlace", "valueAddress": { "state": "東京" } }, { "url": "http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_Patient_Race", "valueCodeableConcept": { "coding": [ { "code": "2039-6", "system": "http://terminology.hl7.org/CodeSystem/v3-Race", "display": "Japanese" } ] } } ] }


「code4fukui/FSH - src on GitHub」

JavaScript、99行でできた、FSH.js 1ファイルで実現する FSH.toJSON、2つのサンプルファイルの変換がうまくいっているかテストする FSH.test.js で動作を確認しています。

links
- 医療とオープンソース、DPCリスト、診断群分類 by 厚生労働省

2024-06-21
地球さんがどう感じるかは分かりませんが、人類にはとっても有益、人類叡智の結晶、AI。プログラミングが圧倒的に手軽になっています。

福井県立坂井高校生によるシビックテックのメンタリング。
1. 大まかに取り組みたいテーマを決める(身近なごみをなくしたい)
2. ターゲットを決め、ペルソナをつくる(家で遊ぶタイプの小学6年生男児、ちょっと厨二病)
3. そのペルソナが使ってみたくなるコアな要素を考える(RPGゲーム要素)
4. そのアプリを最初に説明する文章、ビジョンを作成する
5. AIの力を仮りつつ開発する!


テキスト系生成AI、GPT3.5や4oなどを使うとサクッと動くコードをつくってくれます。


ChatGPTにウェブアプリの作り方を「HTML1ファイルで」と添えて聞いて回答されるHTMLまるっとコピー。


「ES-Jam - ss.sabae.cc」

ss.sabae.ccを開いて、貼り付け、「見てみる」ボタンですぐ動きます!
スマホで見やすく改良。「編集」ボタンと「見てみる」ボタンで、エディタとプレビューを切り替え可!


「ES-Jam - ss.sabae.cc」

今まで通り、PCやタブレットで見ると画面が広く使えます。

2024-06-20
QRコードを使ったサーバーレスで使えるQRチケットシステム「さばチケ」をセルフフォークして、ポイント管理システム「さばペイ」を作りました。


「さばペイ」

ポイントを事前に発行。発行者のスマホで読み取ると使用ポイントを設定して減らせます。全部使い切れば、追加もできます。


「さばペイ」
src on GitHub
管理画面はこちら。スマホだけで気軽に使えます。ただデータの永続性は保証されないので、お気をつけください。


「sabapay on GitHub」

まちの便利をみんなでつくろう! シビックテックでつくるオープンソースです。

links
- QRチケット発行サーバーレスシステム、さばチケ

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS