ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšã®å¹³æšã§ãã 2017 幎ãããRubyKaigi ã«ã¹ãã³ãµãŒãšããŠåå ããŠããŸããããä»å¹Žã æé£ã¹ãã³ãµãŒ ãšããŠåè³ããããšã«ãªããŸãã! (å»å¹Žãšããšãšãã®åå ã¬ããŒã) RubyKaigi 2017 ã«ã¡ãã¬ãŒã Ruby Sponsor ãšããŠåå ããŸãã Lightning Talks Sponsor ãšã㊠RubyKaigi 2018 ã«åå ããŠããŸãã äŒå Žã§ãããçŠå²¡åœéäŒè°å Žå
ã® 1F ã«ããã¬ã¹ãã©ã³ ã©ã³ã³ã ããã§ãã¥ããã§åœ¢åŒã®æé£ã楜ããããšãã§ããŸãã äŒæäžã® 4/19~20 æ¥ã® 8:30 ~ 10:00 ã§éå¬ããŠããŸããåœæ¥ã¯ã¡ãã¬ãŒã¡ã³ããŒããæ¡å
ããäºå®ã«ãªã£ãŠããŸãã®ã§ããã²ãæ°è»œã«è©±ãããŠãã ãã!ç®å°ãšããŠãã¡ã³ããŒã¯ã¡ãã¬ãŒããŒã«ãŒãççšããŠããŸãã ã¡ãã¥ãŒã¯åæŽããããçšæããããçŠå²¡ãªãã§ã¯ã®ã¡ãã¥ãŒãå
¥ã£ãŠããŸãã®ã§ã1 æ¥ã®å§ãŸãã«ãã²ããããæé£ãé£ã¹ãŠå
æ°ã«ã»ãã·ã§ã³ã«èšãã§ãã ããã ãŸããã¹ãã³ãµãŒããŒã¹å
ã«ãã¡ãã¬ãŒããŒã¹ãåžžèšãããŠããããšã³ãžã㢠4 人ãè¡ãäºå®ãšãªã£ãŠããŸãã®ã§ããã²ãç«ã¡å¯ãããã ããŠãã¿ãªãããšäº€æµã§ããã°ãšæããŸãã ããã§ã¯ãRubyKaigi ãšãã倧ããªã€ãã³ãã§ãŸãçæ§ã«ãäŒãã§ããã®ã楜ãã¿ã«ããŠããŸã!!
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšã®å¹³æšã§ãã 2017 幎ãããRubyKaigi ã«ã¹ãã³ãµãŒãšããŠåå ããŠããŸããããä»å¹Žã æé£ã¹ãã³ãµãŒ ãšããŠåè³ããããšã«ãªããŸãã! (å»å¹Žãšããšãšãã®åå ã¬ããŒã) RubyKaigi 2017 ã«ã¡ãã¬ãŒã Ruby Sponsor ãšããŠåå ããŸãã Lightning Talks Sponsor ãšã㊠RubyKaigi 2018 ã«åå ããŠããŸãã äŒå Žã§ãããçŠå²¡åœéäŒè°å Žå
ã® 1F ã«ããã¬ã¹ãã©ã³ ã©ã³ã³ã ããã§ãã¥ããã§åœ¢åŒã®æé£ã楜ããããšãã§ããŸãã äŒæäžã® 4/19~20 æ¥ã® 8:30 ~ 10:00 ã§éå¬ããŠããŸããåœæ¥ã¯ã¡ãã¬ãŒã¡ã³ããŒããæ¡å
ããäºå®ã«ãªã£ãŠããŸãã®ã§ããã²ãæ°è»œã«è©±ãããŠãã ãã!ç®å°ãšããŠãã¡ã³ããŒã¯ã¡ãã¬ãŒããŒã«ãŒãççšããŠããŸãã ã¡ãã¥ãŒã¯åæŽããããçšæããããçŠå²¡ãªãã§ã¯ã®ã¡ãã¥ãŒãå
¥ã£ãŠããŸãã®ã§ã1 æ¥ã®å§ãŸãã«ãã²ããããæé£ãé£ã¹ãŠå
æ°ã«ã»ãã·ã§ã³ã«èšãã§ãã ããã ãŸããã¹ãã³ãµãŒããŒã¹å
ã«ãã¡ãã¬ãŒããŒã¹ãåžžèšãããŠããããšã³ãžã㢠4 人ãè¡ãäºå®ãšãªã£ãŠããŸãã®ã§ããã²ãç«ã¡å¯ãããã ããŠãã¿ãªãããšäº€æµã§ããã°ãšæããŸãã ããã§ã¯ãRubyKaigi ãšãã倧ããªã€ãã³ãã§ãŸãçæ§ã«ãäŒãã§ããã®ã楜ãã¿ã«ããŠããŸã!!
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšã®å¹³æšã§ãã 2017 幎ãããRubyKaigi ã«ã¹ãã³ãµãŒãšããŠåå ããŠããŸããããä»å¹Žã æé£ã¹ãã³ãµãŒ ãšããŠåè³ããããšã«ãªããŸãã! (å»å¹Žãšããšãšãã®åå ã¬ããŒã) RubyKaigi 2017 ã«ã¡ãã¬ãŒã Ruby Sponsor ãšããŠåå ããŸãã Lightning Talks Sponsor ãšã㊠RubyKaigi 2018 ã«åå ããŠããŸãã äŒå Žã§ãããçŠå²¡åœéäŒè°å Žå
ã® 1F ã«ããã¬ã¹ãã©ã³ ã©ã³ã³ã ããã§ãã¥ããã§åœ¢åŒã®æé£ã楜ããããšãã§ããŸãã äŒæäžã® 4/19~20 æ¥ã® 8:30 ~ 10:00 ã§éå¬ããŠããŸããåœæ¥ã¯ã¡ãã¬ãŒã¡ã³ããŒããæ¡å
ããäºå®ã«ãªã£ãŠããŸãã®ã§ããã²ãæ°è»œã«è©±ãããŠãã ãã!ç®å°ãšããŠãã¡ã³ããŒã¯ã¡ãã¬ãŒããŒã«ãŒãççšããŠããŸãã ã¡ãã¥ãŒã¯åæŽããããçšæããããçŠå²¡ãªãã§ã¯ã®ã¡ãã¥ãŒãå
¥ã£ãŠããŸãã®ã§ã1 æ¥ã®å§ãŸãã«ãã²ããããæé£ãé£ã¹ãŠå
æ°ã«ã»ãã·ã§ã³ã«èšãã§ãã ããã ãŸããã¹ãã³ãµãŒããŒã¹å
ã«ãã¡ãã¬ãŒããŒã¹ãåžžèšãããŠããããšã³ãžã㢠4 人ãè¡ãäºå®ãšãªã£ãŠããŸãã®ã§ããã²ãç«ã¡å¯ãããã ããŠãã¿ãªãããšäº€æµã§ããã°ãšæããŸãã ããã§ã¯ãRubyKaigi ãšãã倧ããªã€ãã³ãã§ãŸãçæ§ã«ãäŒãã§ããã®ã楜ãã¿ã«ããŠããŸã!!
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšã®å¹³æšã§ãã 2017 幎ãããRubyKaigi ã«ã¹ãã³ãµãŒãšããŠåå ããŠããŸããããä»å¹Žã æé£ã¹ãã³ãµãŒ ãšããŠåè³ããããšã«ãªããŸãã! (å»å¹Žãšããšãšãã®åå ã¬ããŒã) RubyKaigi 2017 ã«ã¡ãã¬ãŒã Ruby Sponsor ãšããŠåå ããŸãã Lightning Talks Sponsor ãšã㊠RubyKaigi 2018 ã«åå ããŠããŸãã äŒå Žã§ãããçŠå²¡åœéäŒè°å Žå
ã® 1F ã«ããã¬ã¹ãã©ã³ ã©ã³ã³ã ããã§ãã¥ããã§åœ¢åŒã®æé£ã楜ããããšãã§ããŸãã äŒæäžã® 4/19~20 æ¥ã® 8:30 ~ 10:00 ã§éå¬ããŠããŸããåœæ¥ã¯ã¡ãã¬ãŒã¡ã³ããŒããæ¡å
ããäºå®ã«ãªã£ãŠããŸãã®ã§ããã²ãæ°è»œã«è©±ãããŠãã ãã!ç®å°ãšããŠãã¡ã³ããŒã¯ã¡ãã¬ãŒããŒã«ãŒãççšããŠããŸãã ã¡ãã¥ãŒã¯åæŽããããçšæããããçŠå²¡ãªãã§ã¯ã®ã¡ãã¥ãŒãå
¥ã£ãŠããŸãã®ã§ã1 æ¥ã®å§ãŸãã«ãã²ããããæé£ãé£ã¹ãŠå
æ°ã«ã»ãã·ã§ã³ã«èšãã§ãã ããã ãŸããã¹ãã³ãµãŒããŒã¹å
ã«ãã¡ãã¬ãŒããŒã¹ãåžžèšãããŠããããšã³ãžã㢠4 人ãè¡ãäºå®ãšãªã£ãŠããŸãã®ã§ããã²ãç«ã¡å¯ãããã ããŠãã¿ãªãããšäº€æµã§ããã°ãšæããŸãã ããã§ã¯ãRubyKaigi ãšãã倧ããªã€ãã³ãã§ãŸãçæ§ã«ãäŒãã§ããã®ã楜ãã¿ã«ããŠããŸã!!
ã¿ãªãããããã«ã¡ã¯ãéçºæ¬éšã®å¹³æšã§ãã 2017 幎ãããRubyKaigi ã«ã¹ãã³ãµãŒãšããŠåå ããŠããŸããããä»å¹Žã æé£ã¹ãã³ãµãŒ ãšããŠåè³ããããšã«ãªããŸãã! (å»å¹Žãšããšãšãã®åå ã¬ããŒã) RubyKaigi 2017 ã«ã¡ãã¬ãŒã Ruby Sponsor ãšããŠåå ããŸãã Lightning Talks Sponsor ãšã㊠RubyKaigi 2018 ã«åå ããŠããŸãã äŒå Žã§ãããçŠå²¡åœéäŒè°å Žå
ã® 1F ã«ããã¬ã¹ãã©ã³ ã©ã³ã³ã ããã§ãã¥ããã§åœ¢åŒã®æé£ã楜ããããšãã§ããŸãã äŒæäžã® 4/19~20 æ¥ã® 8:30 ~ 10:00 ã§éå¬ããŠããŸããåœæ¥ã¯ã¡ãã¬ãŒã¡ã³ããŒããæ¡å
ããäºå®ã«ãªã£ãŠããŸãã®ã§ããã²ãæ°è»œã«è©±ãããŠãã ãã!ç®å°ãšããŠãã¡ã³ããŒã¯ã¡ãã¬ãŒããŒã«ãŒãççšããŠããŸãã ã¡ãã¥ãŒã¯åæŽããããçšæããããçŠå²¡ãªãã§ã¯ã®ã¡ãã¥ãŒãå
¥ã£ãŠããŸãã®ã§ã1 æ¥ã®å§ãŸãã«ãã²ããããæé£ãé£ã¹ãŠå
æ°ã«ã»ãã·ã§ã³ã«èšãã§ãã ããã ãŸããã¹ãã³ãµãŒããŒã¹å
ã«ãã¡ãã¬ãŒããŒã¹ãåžžèšãããŠããããšã³ãžã㢠4 人ãè¡ãäºå®ãšãªã£ãŠããŸãã®ã§ããã²ãç«ã¡å¯ãããã ããŠãã¿ãªãããšäº€æµã§ããã°ãšæããŸãã ããã§ã¯ãRubyKaigi ãšãã倧ããªã€ãã³ãã§ãŸãçæ§ã«ãäŒãã§ããã®ã楜ãã¿ã«ããŠããŸã!!
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã GitHub - jamesagnew/hapi-fhir: ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers - jamesagnew/hapi-fhir github.com hub.docker.com hub.docker.com Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client . new ( "https://localhost:8080/baseDstu3" ) FHIR::Model . client = client patient = FHIR::Patient . new # æ£è
ID identifier = FHIR::Identifier . new identifier. value = '12345678' patient. identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName . new human_name. family = 'Kodama' human_name. given = 'Yoshinori' patient. name . push (human_name) # æ§å¥ patient. gender = 'male' patient. create puts patient. id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType" : "Patient" , "id" : "19953" , "meta" : { "versionId" : "1" , "lastUpdated" : "2019-03-21T09:12:44.660+00:00" }, "text" : { "status" : "generated" , "div" : "<div xmlns= \" https://www.w3.org/1999/xhtml \" ><div class= \" hapiHeaderText \" >Yoshinori <b>KODAMA </b></div><table class= \" hapiPropertyTable \" ><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier" : [ { "value" : "12345678" } ], "name" : [ { "family" : "Kodama" , "given" : [ "Yoshinori" ] } ], "gender" : "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier= 12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã é»ååŠæ¹ç® www.mhlw.go.jp ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã FHIR Meetup Tokyo #01 @ TECH PLAY SHIBUYAïœITå匷äŒã»ã€ãã³ããªãTECH PLAYããã¯ãã¬ã€ïŒœ 2019/04/23ïŒç«ïŒéå¬ ä»åŸã®å»çITã·ã¹ãã ã®æ žãšãªãã§ãããæè¡ãšããŠãFHIRãã«ãã©ãŒã«ã¹ããFHIRã®æŠèŠãFHIRãæŽ»çšãããã¯ãããžãŒè£œåãäºäŸã®ç޹ä»ãé»ååŠæ¹ç®å®èšŒäºæ¥ã«ãããFHIR掻çšã®äºäŸãªã©ãéçºè
ãFHIRãå
·äœçã«æŽ»çšããŠããããã®ããŠããŠãå
±æããŠãããŸãã techplay.jp ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã https://github.com/jamesagnew/hapi-fhir https://hub.docker.com/r/petersonjared/hapi-fhir Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client . new ( "https://localhost:8080/baseDstu3" ) FHIR::Model . client = client patient = FHIR::Patient . new # æ£è
ID identifier = FHIR::Identifier . new identifier. value = '12345678' patient. identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName . new human_name. family = 'Kodama' human_name. given = 'Yoshinori' patient. name . push (human_name) # æ§å¥ patient. gender = 'male' patient. create puts patient. id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType" : "Patient" , "id" : "19953" , "meta" : { "versionId" : "1" , "lastUpdated" : "2019-03-21T09:12:44.660+00:00" }, "text" : { "status" : "generated" , "div" : "<div xmlns= \" https://www.w3.org/1999/xhtml \" ><div class= \" hapiHeaderText \" >Yoshinori <b>KODAMA </b></div><table class= \" hapiPropertyTable \" ><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier" : [ { "value" : "12345678" } ], "name" : [ { "family" : "Kodama" , "given" : [ "Yoshinori" ] } ], "gender" : "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier= 12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã https://www.mhlw.go.jp/stf/denshishohousen.html ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã https://techplay.jp/event/725549 ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã https://www.medley.jp/recruit/creative.html
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã GitHub - jamesagnew/hapi-fhir: ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers - jamesagnew/hapi-fhir github.com hub.docker.com hub.docker.com Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client . new ( "https://localhost:8080/baseDstu3" ) FHIR::Model . client = client patient = FHIR::Patient . new # æ£è
ID identifier = FHIR::Identifier . new identifier. value = '12345678' patient. identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName . new human_name. family = 'Kodama' human_name. given = 'Yoshinori' patient. name . push (human_name) # æ§å¥ patient. gender = 'male' patient. create puts patient. id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType" : "Patient" , "id" : "19953" , "meta" : { "versionId" : "1" , "lastUpdated" : "2019-03-21T09:12:44.660+00:00" }, "text" : { "status" : "generated" , "div" : "<div xmlns= \" https://www.w3.org/1999/xhtml \" ><div class= \" hapiHeaderText \" >Yoshinori <b>KODAMA </b></div><table class= \" hapiPropertyTable \" ><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier" : [ { "value" : "12345678" } ], "name" : [ { "family" : "Kodama" , "given" : [ "Yoshinori" ] } ], "gender" : "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier= 12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã é»ååŠæ¹ç® www.mhlw.go.jp ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã FHIR Meetup Tokyo #01 @ TECH PLAY SHIBUYAïœITå匷äŒã»ã€ãã³ããªãTECH PLAYããã¯ãã¬ã€ïŒœ 2019/04/23ïŒç«ïŒéå¬ ä»åŸã®å»çITã·ã¹ãã ã®æ žãšãªãã§ãããæè¡ãšããŠãFHIRãã«ãã©ãŒã«ã¹ããFHIRã®æŠèŠãFHIRãæŽ»çšãããã¯ãããžãŒè£œåãäºäŸã®ç޹ä»ãé»ååŠæ¹ç®å®èšŒäºæ¥ã«ãããFHIR掻çšã®äºäŸãªã©ãéçºè
ãFHIRãå
·äœçã«æŽ»çšããŠããããã®ããŠããŠãå
±æããŠãããŸãã techplay.jp ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã GitHub - jamesagnew/hapi-fhir: ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers - jamesagnew/hapi-fhir github.com hub.docker.com hub.docker.com Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client . new ( "https://localhost:8080/baseDstu3" ) FHIR::Model . client = client patient = FHIR::Patient . new # æ£è
ID identifier = FHIR::Identifier . new identifier. value = '12345678' patient. identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName . new human_name. family = 'Kodama' human_name. given = 'Yoshinori' patient. name . push (human_name) # æ§å¥ patient. gender = 'male' patient. create puts patient. id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType" : "Patient" , "id" : "19953" , "meta" : { "versionId" : "1" , "lastUpdated" : "2019-03-21T09:12:44.660+00:00" }, "text" : { "status" : "generated" , "div" : "<div xmlns= \" https://www.w3.org/1999/xhtml \" ><div class= \" hapiHeaderText \" >Yoshinori <b>KODAMA </b></div><table class= \" hapiPropertyTable \" ><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier" : [ { "value" : "12345678" } ], "name" : [ { "family" : "Kodama" , "given" : [ "Yoshinori" ] } ], "gender" : "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier= 12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã é»ååŠæ¹ç® www.mhlw.go.jp ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã FHIR Meetup Tokyo #01 @ TECH PLAY SHIBUYAïœITå匷äŒã»ã€ãã³ããªãTECH PLAYããã¯ãã¬ã€ïŒœ 2019/04/23ïŒç«ïŒéå¬ ä»åŸã®å»çITã·ã¹ãã ã®æ žãšãªãã§ãããæè¡ãšããŠãFHIRãã«ãã©ãŒã«ã¹ããFHIRã®æŠèŠãFHIRãæŽ»çšãããã¯ãããžãŒè£œåãäºäŸã®ç޹ä»ãé»ååŠæ¹ç®å®èšŒäºæ¥ã«ãããFHIR掻çšã®äºäŸãªã©ãéçºè
ãFHIRãå
·äœçã«æŽ»çšããŠããããã®ããŠããŠãå
±æããŠãããŸãã techplay.jp ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã GitHub - jamesagnew/hapi-fhir: ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers - jamesagnew/hapi-fhir github.com hub.docker.com hub.docker.com Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client . new ( "https://localhost:8080/baseDstu3" ) FHIR::Model . client = client patient = FHIR::Patient . new # æ£è
ID identifier = FHIR::Identifier . new identifier. value = '12345678' patient. identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName . new human_name. family = 'Kodama' human_name. given = 'Yoshinori' patient. name . push (human_name) # æ§å¥ patient. gender = 'male' patient. create puts patient. id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType" : "Patient" , "id" : "19953" , "meta" : { "versionId" : "1" , "lastUpdated" : "2019-03-21T09:12:44.660+00:00" }, "text" : { "status" : "generated" , "div" : "<div xmlns= \" https://www.w3.org/1999/xhtml \" ><div class= \" hapiHeaderText \" >Yoshinori <b>KODAMA </b></div><table class= \" hapiPropertyTable \" ><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier" : [ { "value" : "12345678" } ], "name" : [ { "family" : "Kodama" , "given" : [ "Yoshinori" ] } ], "gender" : "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier= 12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã é»ååŠæ¹ç® www.mhlw.go.jp ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã FHIR Meetup Tokyo #01 @ TECH PLAY SHIBUYAïœITå匷äŒã»ã€ãã³ããªãTECH PLAYããã¯ãã¬ã€ïŒœ 2019/04/23ïŒç«ïŒéå¬ ä»åŸã®å»çITã·ã¹ãã ã®æ žãšãªãã§ãããæè¡ãšããŠãFHIRãã«ãã©ãŒã«ã¹ããFHIRã®æŠèŠãFHIRãæŽ»çšãããã¯ãããžãŒè£œåãäºäŸã®ç޹ä»ãé»ååŠæ¹ç®å®èšŒäºæ¥ã«ãããFHIR掻çšã®äºäŸãªã©ãéçºè
ãFHIRãå
·äœçã«æŽ»çšããŠããããã®ããŠããŠãå
±æããŠãããŸãã techplay.jp ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã GitHub - jamesagnew/hapi-fhir: ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers - jamesagnew/hapi-fhir github.com hub.docker.com hub.docker.com Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client . new ( "https://localhost:8080/baseDstu3" ) FHIR::Model . client = client patient = FHIR::Patient . new # æ£è
ID identifier = FHIR::Identifier . new identifier. value = '12345678' patient. identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName . new human_name. family = 'Kodama' human_name. given = 'Yoshinori' patient. name . push (human_name) # æ§å¥ patient. gender = 'male' patient. create puts patient. id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType" : "Patient" , "id" : "19953" , "meta" : { "versionId" : "1" , "lastUpdated" : "2019-03-21T09:12:44.660+00:00" }, "text" : { "status" : "generated" , "div" : "<div xmlns= \" https://www.w3.org/1999/xhtml \" ><div class= \" hapiHeaderText \" >Yoshinori <b>KODAMA </b></div><table class= \" hapiPropertyTable \" ><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier" : [ { "value" : "12345678" } ], "name" : [ { "family" : "Kodama" , "given" : [ "Yoshinori" ] } ], "gender" : "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier= 12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã é»ååŠæ¹ç® www.mhlw.go.jp ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã FHIR Meetup Tokyo #01 @ TECH PLAY SHIBUYAïœITå匷äŒã»ã€ãã³ããªãTECH PLAYããã¯ãã¬ã€ïŒœ 2019/04/23ïŒç«ïŒéå¬ ä»åŸã®å»çITã·ã¹ãã ã®æ žãšãªãã§ãããæè¡ãšããŠãFHIRãã«ãã©ãŒã«ã¹ããFHIRã®æŠèŠãFHIRãæŽ»çšãããã¯ãããžãŒè£œåãäºäŸã®ç޹ä»ãé»ååŠæ¹ç®å®èšŒäºæ¥ã«ãããFHIR掻çšã®äºäŸãªã©ãéçºè
ãFHIRãå
·äœçã«æŽ»çšããŠããããã®ããŠããŠãå
±æããŠãããŸãã techplay.jp ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã GitHub - jamesagnew/hapi-fhir: ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers - jamesagnew/hapi-fhir github.com hub.docker.com hub.docker.com Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client . new ( "https://localhost:8080/baseDstu3" ) FHIR::Model . client = client patient = FHIR::Patient . new # æ£è
ID identifier = FHIR::Identifier . new identifier. value = '12345678' patient. identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName . new human_name. family = 'Kodama' human_name. given = 'Yoshinori' patient. name . push (human_name) # æ§å¥ patient. gender = 'male' patient. create puts patient. id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType" : "Patient" , "id" : "19953" , "meta" : { "versionId" : "1" , "lastUpdated" : "2019-03-21T09:12:44.660+00:00" }, "text" : { "status" : "generated" , "div" : "<div xmlns= \" https://www.w3.org/1999/xhtml \" ><div class= \" hapiHeaderText \" >Yoshinori <b>KODAMA </b></div><table class= \" hapiPropertyTable \" ><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier" : [ { "value" : "12345678" } ], "name" : [ { "family" : "Kodama" , "given" : [ "Yoshinori" ] } ], "gender" : "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier= 12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã é»ååŠæ¹ç® www.mhlw.go.jp ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã FHIR Meetup Tokyo #01 @ TECH PLAY SHIBUYAïœITå匷äŒã»ã€ãã³ããªãTECH PLAYããã¯ãã¬ã€ïŒœ 2019/04/23ïŒç«ïŒéå¬ ä»åŸã®å»çITã·ã¹ãã ã®æ žãšãªãã§ãããæè¡ãšããŠãFHIRãã«ãã©ãŒã«ã¹ããFHIRã®æŠèŠãFHIRãæŽ»çšãããã¯ãããžãŒè£œåãäºäŸã®ç޹ä»ãé»ååŠæ¹ç®å®èšŒäºæ¥ã«ãããFHIR掻çšã®äºäŸãªã©ãéçºè
ãFHIRãå
·äœçã«æŽ»çšããŠããããã®ããŠããŠãå
±æããŠãããŸãã techplay.jp ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã GitHub - jamesagnew/hapi-fhir: ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers ð¥ HAPI FHIR - Java API for HL7 FHIR Clients and Servers - jamesagnew/hapi-fhir github.com hub.docker.com hub.docker.com Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client . new ( "https://localhost:8080/baseDstu3" ) FHIR::Model . client = client patient = FHIR::Patient . new # æ£è
ID identifier = FHIR::Identifier . new identifier. value = '12345678' patient. identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName . new human_name. family = 'Kodama' human_name. given = 'Yoshinori' patient. name . push (human_name) # æ§å¥ patient. gender = 'male' patient. create puts patient. id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType" : "Patient" , "id" : "19953" , "meta" : { "versionId" : "1" , "lastUpdated" : "2019-03-21T09:12:44.660+00:00" }, "text" : { "status" : "generated" , "div" : "<div xmlns= \" https://www.w3.org/1999/xhtml \" ><div class= \" hapiHeaderText \" >Yoshinori <b>KODAMA </b></div><table class= \" hapiPropertyTable \" ><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier" : [ { "value" : "12345678" } ], "name" : [ { "family" : "Kodama" , "given" : [ "Yoshinori" ] } ], "gender" : "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier= 12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã é»ååŠæ¹ç® www.mhlw.go.jp ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã FHIR Meetup Tokyo #01 @ TECH PLAY SHIBUYAïœITå匷äŒã»ã€ãã³ããªãTECH PLAYããã¯ãã¬ã€ïŒœ 2019/04/23ïŒç«ïŒéå¬ ä»åŸã®å»çITã·ã¹ãã ã®æ žãšãªãã§ãããæè¡ãšããŠãFHIRãã«ãã©ãŒã«ã¹ããFHIRã®æŠèŠãFHIRãæŽ»çšãããã¯ãããžãŒè£œåãäºäŸã®ç޹ä»ãé»ååŠæ¹ç®å®èšŒäºæ¥ã«ãããFHIR掻çšã®äºäŸãªã©ãéçºè
ãFHIRãå
·äœçã«æŽ»çšããŠããããã®ããŠããŠãå
±æããŠãããŸãã techplay.jp ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã ã¡ã³ããŒã®ã¹ããŒãªãŒ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ã³ããŒã®ã¹ããŒãªãŒ å®¶æãå人ãç
æ°ã«ãªã£ãæã«æãã®æãå·®ãã®ã¹ãå»çã®åã... www.medley.jp
ããã«ã¡ã¯ãCLINICS äºæ¥éšã®å
çã§ãã ä»åã¯ãã¡ãã¬ãŒã 2018 幎 12 æã«åçåŽåçããåèšãããé»ååŠæ¹ç®ã®æ¬æ Œéçšã«åããå®èšŒäºæ¥ãã§ãå»çæ
å ±æšæºèŠæ Œã® FHIR ãåºç€ãšããé»ååŠæ¹ç®ç®¡çã·ã¹ãã ãæ§ç¯ããŸããã®ã§ããã®å
容ã«ã€ããŠã玹ä»ããŸãã FHIR ãšã¯ FHIR(Fast Healthcare Interoperability Resources)ãšã¯ãå»çæ
å ±äº€æã®åœéæšæºèŠæ Œã§ãã HL7(Health Level 7)ã®äžã§æãæ°ããèŠæ Œã§ãããã€ã³ã¿ãŒããããã¯ãããžãŒãããŒã¹ãšãããã·ã³ãã«ã§å¹ççã«ã·ã¹ãã éã§ã®æ
å ±å
±æãå¯èœã«ããã æ¬¡äžä»£ã®å»çæ
å ±æšæºèŠæ Œ ããšããŠäžçååœã§æ³šç®ãããŠããŸãã HL7 ã¯ãäžçã« 30 以äžã®åœéæ¯éšãæããŠãããæ¥æ¬ã§ã¯ 1998 å¹Žã« æ¥æ¬ HL7 åäŒ ãèšç«ãããŸããããããŠãçŸåšæµéããŠãã HL7 èŠæ Œã«ã¯ãããŒã¿äº€æã«å©çšããã HL7v2 ãšãå»çšææžã®èšè¿°ã«å©çšããã CDA (Clinical Document Architecture)ãååšããŸãã é»ååŠæ¹ç®ãšã¯ é»ååŠæ¹ç®ãšã¯ãåŸæ¥ã®çŽã«å°å·ãããåŠæ¹ç®ã§ã¯ãªããå»çæ©é¢ãšèª¿å€è¬å±ãé»åããŒã¿ãçšããŠåŠæ¹å
容ããããšãããä»çµã¿ã§ããåçŽã«ããŒããŒã¬ã¹åããããšã ããç®çã§ã¯ãªããæ£è
åäººã®æè¬å±¥æŽãé»åçã«ç®¡çããŠãéè€æè¬ã®é©æ£åãå³ããšãã£ãç®çããããŸãã å®èšŒäºæ¥ã®èæ¯ãšæŠç¥ 2016 幎 3 æã®æ³ä»€æ¹æ£ã§ãåŠæ¹ç®ã®é»åçãªäº€ä»ãå¯èœãšãªãã éçšã¬ã€ãã©ã€ã³ ãçå®ãããŸãããããããæ³ä»€æ¹æ£ããæ°å¹ŽãçµéããçŸåšã«ãããŠããå®éçšã§ã®èª²é¡ãææã§ããã«ãé»ååŠæ¹ç®ã®å
šåœçãªæ®åã¯é²ãã§ãããŸããã ã¬ã€ãã©ã€ã³ã«å®ããããéçšãããŒïŒé»ååŠæ¹ããã®éçšã¬ã€ãã©ã€ã³ãã転èŒïŒ å
æ¥ãåŠæ¹ç®ã«ã¯å»åž«ã®èšåæŒå°ããŸãã¯çœ²åãå¿
èŠã§ãããšå»åž«æ³ã§å®ããããŠããŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã¯ããã®èŠåãèžè¥²ããŠèšèšãããŠããŸãã®ã§ãçŽã®åŠæ¹ç®ã®ä»£æ¿ãšã㊠CDA ã§èšè¿°ãããéçãã¡ã€ã« ãå¿
èŠãšããèšåæŒå°ã®ä»£æ¿ãšã㊠HPKI ã䜿çšãã é»å眲å ãå¿
èŠãšãªããŸãã ãŸããã¯ã©ã€ã¢ã³ã端æ«ã§çæãããéçãã¡ã€ã«ããã€ã³ã¿ãŒãããã«æµéãããããŒãšãªã£ãŠããŸãã®ã§ãæ¹ããã®æ€ç¥ãå¯èœãšããããã« é»åã¿ã€ã ã¹ã¿ã³ã ãä»äžããå¿
èŠããããŸãã ãã®ããã«è€éåãããéçšãããŒããé»ååŠæ¹ç®ã®æ®åãé»å®³ããèŠå ã® 1 ã€ã§ãããšèããããŸãã ããããç¶æ³ãèžãŸããçŸè¡ã®ã¬ã€ãã©ã€ã³ã«çžããããåæ»ãªéçšãã§ããä»çµã¿ãæ€èšããããã«ãå®éã®å»çæ©é¢ãšèª¿å€è¬å±ã䜿çšãããã£ãŒã«ãå®éšã宿œããŸããã å®èšŒäºæ¥æŠç¥ 宿œç®çïŒé»ååŠæ¹ç®ã®éçšã®ä»çµã¿ã®æ€èšã»å®èšŒã»èå¯ å®æœæéïŒ2019 幎 2 æ 4 æ¥ - 2019 幎 3 æ 17 æ¥ å®èšŒãšãªã¢ïŒæ±äº¬éœæž¯åº ååæœèšïŒ2 å»çæ©é¢ / 6 è¬å± å©çšå®çžŸïŒ64 ä»¶ é»ååŠæ¹ç®ç®¡çã·ã¹ãã ã®æŠèР以äžã«ç€ºãã®ã¯ãä»åã®å®èšŒäºæ¥ã§éçºããè©äŸ¡ã·ã¹ãã ã§ããæ¬ã·ã¹ãã ã¯ãåŠæ¹ç®ç®¡çã·ã¹ãã ããå»çæ©é¢ã·ã¹ãã ããè¬å±ã·ã¹ãã ããPHR ã¢ããªãã® 4 ã€ã®ã·ã¹ãã ããæ§æãããŠããŸãã ã·ã¹ãã æŠèг åŠæ¹ç®ç®¡çã·ã¹ãã å»çæ©é¢ã·ã¹ãã ãè¬å±ã·ã¹ãã åã³ PHR ã¢ããªããæ¥ç¶ãããåã·ã¹ãã ããã®åŠçèŠæ±ãåããŠãåŠæ¹ããŒã¿ãšèª¿å€ããŒã¿ã®è¿çãäœæãç·šéãåã³åé€ãè¡ãã å»çæ©é¢ã·ã¹ãã 蚺ççµæãšããŠã®åŠæ¹ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«ç»é²ãããã®çµæãšããŠè¿ãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããæ£è
ã«å
±æãããåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒã㯠QR ã³ãŒãã®æŽ»çšãæ³å®ããQR ã³ãŒããå°åããçŽåã¯é»åããŒã¿ãæ£è
ã«å
±æããã ïŒãQR ã³ãŒããã¯æ ªåŒäŒç€Ÿãã³ãœãŒãŠã§ãŒãã®ç»é²åæšã§ãã è¬å±ã·ã¹ãã 蚪åããŠããæ£è
ã®æ¬äººç¢ºèªãè¡ã£ãäžã§ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããåãåããåŠæ¹ç®ç®¡çã·ã¹ãã ã«ã¢ã¯ã»ã¹ãåŠæ¹ããŒã¿ãåç
§ãããåŠæ¹åŸã¯èª¿å€ããŒã¿ãåŠæ¹ç®ç®¡çã·ã¹ãã ã«æ ŒçŽããã PHR ã¢ã㪠æ£è
ããªã³ã©ã€ã³èšºçããè¬æåž³ã®æ©èœãå©çšããããã®ã¢ããªãåŠæ¹ç®ç®¡çã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãèš±å¯ãããå»çæ©é¢ã·ã¹ãã ããåãåã£ãåŠæ¹ç®ã¢ã¯ã»ã¹ã³ãŒããå
ã«ã調å€çµæãåç
§ããããšãå¯èœã«ããã å»çæ©é¢ã·ã¹ãã ã¯ãã¡ãã¬ãŒã®ã¯ã©ãŠãé»åã«ã«ããCLINICS ã«ã«ãããå©çšããŸããããã·ã¹ãã 飿ºã«é¢ããéšåã«ã€ããŠã¯ãä»ã®é»åã«ã«ããªã©ã§ã掻çšã§ãããããçã«çµåããèšèšãæèããŸããã åŠæ¹ç®ç®¡çã·ã¹ãã ã¯ãåè¿°ã®éã FHIR ã€ã³ã¿ãŒãã§ã€ã¹ãåºç€ãšããŠæ§ç¯ããŸãããããã¯çŸè¡ã®ã¬ã€ãã©ã€ã³ã«ã¯èšèŒãããŠããªãæ°ããªè©Šã¿ã§ãã HPKI ãå©çšãã SSO(Single Sign On)ã«ããæ¬äººè³æ Œç¢ºèª ãšãFHIR ã€ã³ã¿ãŒãã§ã€ã¹ãå©çšãã ã¯ã©ãŠãããŒã¹ã§ã®ããŒã¿ãã㌠ãå®çŸããããšãå¯èœã§ããã°ãè€éåã®èŠå ãšãªã£ãŠããéçãã¡ã€ã«ãé»å眲åãã¿ã€ã ã¹ã¿ã³ãã¯äžèŠã§ãããšèããŸããã ããŒã¿èšèš FHIR ã«ã¯ããªãœãŒã¹ããšåŒã°ããããŒã¿ã»ãããå®ããããŠããŸãããªãœãŒã¹ã¯ãPatient(æ£è
)ãPractitioner(æœè¡è
)ãOrganization(çµç¹)ãšãã£ãç²åºŠã§èšèšãããŠããããªãœãŒã¹åäœã§ã®ããŒã¿äº€æãå¯èœã§ãã FHIR ãå©çšããããã«ã¯ããã®ç®çã«å¿ãããªãœãŒã¹ã®éžå®ãšããªãœãŒã¹ã®äžäœæŠå¿µã§ãããã£ãŒã«ãã«èšå®ããå
·äœçãªå€ãå®çŸ©ããå¿
èŠããããŸãã äŸãã°ãæ¥æ¬ã§ã¯äººåãèšè¿°ããéã«ãæŒ¢åæ°åãšã«ãæ°åã䜵èšããããšãäžè¬çã§ãããã°ããŒãã«ã»ã¹ã¿ã³ããŒãã§ã¯ãããŸããããã®ãããªåœã®äºæ
ã«å¿ããŠãããŒã«ã©ã€ãºãããèšè¿°ã«ãŒã«ãå®ããå¿
èŠããããŸãã å®èšŒäºæ¥ã§äœ¿çšãããªãœãŒã¹ ãªãœãŒã¹ 説æ Patient æ£è
Practitioner æœè¡è
ïŒåŠæ¹å»ïŒè¬å€åž«ïŒ PractitionerRole æœè¡è
åœ¹å² Organization çµç¹ïŒå»çæ©é¢ïŒèª¿å€è¬å±ïŒ MedicationRequest æè¬èŠæ± MedicationDispense 調å€å®æœ Coverage ä¿éº FHIR ã䜿çšããææ FHIR ã®æ¹ç㯠on-Going ã§è¡ãããŠããŸããå®èšŒäºæ¥ã®ããã®éçºãå§ããé ã¯ãSTU3(Standard for Trial Use 3)ãå
¬åŒããŒãžã§ã³ã§ããããããããããšãæ¥ã« FHIR ã®ããŒã ããŒãžãæ¥ç¶äžå®å®ã«ãªãå°ã£ãŠãããšãããç¿æ¥ã«ã¯ R4(Release 4)ã«æŽæ°ãããŠãããšããããšããããŸããã ãã®ããã«ãæ¥é²ææ©ã® FHIR ããããã¯ãã«çµã¿èŸŒãã«ã¯ãã¿ã€ãã³ã°ã®èŠæ¥µããšãã¢ããããŒãã«è¿œåŸãããèŠæããæ±ºããããšã倧åã ãšæããŸãã 2018 幎 12 æ 27 æ¥ã« R4 ã Current Version ã«ãªããŸãã FHIR ã®å©ç¹ã¯ãåŸæ¥ã® HL7 èŠæ Œãšæ¯èŒãã å®è£
å®¹ææ§ ã«ãããšèããŸããREST(REpresentational State Transfer)ã®ããã«ãWeb ãµãŒãã¹ã§ã¯äžè¬çã«æ®åããŠããæŠå¿µãæšæºãšããŠåã蟌ãã§ããããã**å®è£
è
ã¯ç¹å¥ãªç¥èãç¿åŸããå¿
èŠããããŸããã**ãŸããFHIR ãå®è£
ããããã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãè±å¯ã«æäŸãããŠãããããããæŽ»çšããããšã«ãã£ãŠãæ¬åœã«å¿
èŠãªåŠçã«æ³šåããŠéçºããããšãå¯èœãšãªããŸãã èšåºæŠå¿µã¢ãã«ãšããŠã®èгç¹ã§ã¯ãCDA ã®ããŒã¹ãšãªã£ãŠãã HL7v3-RIM (Reference Information Model)ãšæ¯èŒãããšãã¯ã©ã¹ãç¶æ¿ã®ãããªãªããžã§ã¯ãæåã®æŠå¿µã廿¢ãããŠããŸããããããèšåºæŠå¿µãã¢ããªã³ã°å¯èœãšããããšãç®æãã RIM ãšæ¯ã¹ããšããããã«è¡šçŸå¯èœãªç¯å²ã¯çãŸããšæãããŸãããç¶²çŸ
æ§ã¯å®çšåã®ã¬ãã«ã«ã¯éããŠããã®ã§ã¯ãªãã§ããããã ãŸãã1:1 ã®ã·ã¹ãã 飿ºã«ãããããŒã¿äº€æã§ã¯ããã§ã«çšŒåããŠãã v2 ã€ã³ã¿ãŒãã§ã€ã¹ããç¡çã㊠FHIR ã«çœ®ãæããå¿
èŠã¯ç¡ããšæããŸããçšéã«å¿ããŠãæ¢åã®èŠæ Œãšå
±åããŠããã®ã倧åã§ãããšèããŸãã å®éçšãžåããŠã®èª²é¡ FHIR ãªãœãŒã¹ã¯ãèšåºæŠå¿µãšããŠãŠãããŒãµã«ã«å©çšå¯èœãªãã®ãäžå¿ã«æ§æãããŠããŸããä¿éºæ
å ±ã®ãããªååœã®å»çå¶åºŠã«å¿ããŠç°ãªããã®ããèª¿å€ææ³ã«å¯Ÿãããäžå
åãããç²ç ããªã©ã®çްããªæç€ºæ
å ±ã«é¢ããŠã¯ãããçšåºŠã¢ãããã¯ã«ãããã³ã°ãããããããŸããã§ãããå®è£
è
ã«ãããããã³ã°ã®ãã¬ãçããªãããã«ããããã«ã¯ã ææšãšãªãã¬ã€ãã©ã€ã³ã®çå® ãå¿
èŠã«ãªããŸãã ãŸãããªãœãŒã¹ã«ãããã³ã°ããå»è¬åãçšæ³ã®ãã¹ã¿ãŒã³ãŒãã«ã€ããŠã¯ã åçåŽåçæšæºãã¹ã¿ãŒ ã®å©çšãæãŸããŸããããããªãããæºéãªãæ®åããŠãããšã¯èšãé£ãç¶æ³ã§ãã®ã§ã æšæºãã¹ã¿ãŒå©çšã®æšå¥š ã䜵ããŠã¬ã€ãã©ã€ã³ã«æèšããããšãå¿
èŠã§ãã ã¬ã€ãã©ã€ã³ã¯ãã¡ãã¬ãŒ 1 瀟ã§çå®ããããšãå¯èœãªãã®ã§ã¯ãªããå»çæ
å ±ã·ã¹ãã ã®éçºã«é¢ããå€ãã®éçºè
ã« FHIR ãå©çšããŠããã ãã å®è£
æ¹æ³ã«ã€ããŠã®è°è« ã亀ããå¿
èŠããããŸããããããçŸæç¹ã§ã®æ¥æ¬åœå
ã«ããã FHIR ã®æŽ»çšäºäŸã¯ãæ®å¿µãªããã»ãšãã©èŠãããŸããã æ¬¡ã«ã玹ä»ããã®ã¯ãFHIR ã䜿çšããç°¡åãªã³ãŒãã®ãµã³ãã«ãšãããŒã«ã«ç°å¢ã§ FHIR Server ãç°¡æçã«åããæ¹æ³ã§ããå®è£
è
ã®æ¹ã FHIR ã«è§Šãããã£ããã«ãªãã°ãšæã£ãŠæžããŸããã®ã§ããåèã«ããŠããã ããŸããšå¹žãã§ãã FHIR ã®å®è£
ãµã³ãã« FHIR ãçè§£ããããã«ã¯ãå®éã«ã³ãŒããæžããŠåãããŠã¿ãã®ãäžçªã ãšæããŸããããã§ã¯ãããŒã«ã«ç°å¢ã§ FHIR Server ãèµ·åããŠããªãœãŒã¹ãç»é²ããç°¡åãªããã°ã©ã ãæžããŠã¿ãŸãããïŒãªãŒãã³ãœãŒã¹ã®æ©æµãæå€§éã«äº«åããŠããŸããïŒ å®è¡ç°å¢ macOS v10.14.3 Ruby v2.5.1 Docker v18.09.2 FHIR Server Docker ã³ã³ããã§ FHIR Server ãèµ·åããŸããç°¡åã«åãããããã«ãDockerHub ã«å
¬éãããŠãã HAPI-FHIR ã®ã³ã³ããã€ã¡ãŒãžãå©çšããŸãã HAPI-FHIR ãšã¯ãã«ããã®ããã³ãã«ããå»çç ç©¶æ©é¢ã® UHN(University Health Network)ãç«ã¡äžãããããžã§ã¯ãã§ãFHIR ã®ãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãæäŸããããšãç®çã«æŽ»åããŠããŸãã https://github.com/jamesagnew/hapi-fhir https://hub.docker.com/r/petersonjared/hapi-fhir Docker ã³ã³ããã€ã¡ãŒãžã®ååŸ $ docker pull petersonjared/hapi-fhir $ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3 $ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar Docker ãã€ã³ã¹ããŒã«ããã®ãé¢åãªäººã¯ãHAPI-FHIR ãã°ããŒãã«ã«å
¬éããŠãã ãã¹ããµãŒã㌠ãå©çšããããšãå¯èœã§ãããã ããäžçäžã®äººããã¹ãã«å©çšããŠãããµãŒããŒã§ãã®ã§ãæ©åŸ®ãªå人æ
å ±ã¯ç»é²ããªãããæ³šæãå¿
èŠã§ãã FHIR Client FHIR Client ã¯ãRuby ã§åãããŸãã以äžã® Gem ãå©çšããŸãã $ gem install fhir_client $ gem install fhir_models Ruby ã®ã³ãŒãã§ããPatient ãªãœãŒã¹ãäœæã㊠FHIR Server ã«ç»é²ããŸãã patient.rb require 'fhir_client' client = FHIR::Client.new("https://localhost:8080/baseDstu3") FHIR::Model.client = client patient = FHIR::Patient.new # æ£è
ID identifier = FHIR::Identifier.new identifier.value = '12345678' patient.identifier = identifier # æ£è
æ°å human_name = FHIR::HumanName.new human_name.family = 'Kodama' human_name.given = 'Yoshinori' patient.name.push(human_name) # æ§å¥ patient.gender = 'male' patient.create puts patient.id äžèšã®ã³ãŒããå®è¡ãããšãFHIR Server ã« Patient ãªãœãŒã¹ãç»é²ãããŸããããã§ãªãœãŒã¹ãäžæã«ç¹å®ãããªãœãŒã¹ ID ãæ¡çªãããŸããä»å㯠19953 ãæ¡çªãããŸãããïŒputs patient.id ã§ç¢ºèªïŒ ãã®ãªãœãŒã¹ ID ãå©çšããŠãFHIR Server ã« HTTP ãªã¯ãšã¹ããéããŸãã $ curl https://localhost:8080/baseDstu3/Patient/19953 ãããããšãå
ã»ã©ç»é²ãããªãœãŒã¹ã JSON 圢åŒã§ååŸã§ããŸãã { "resourceType": "Patient", "id": "19953", "meta": { "versionId": "1", "lastUpdated": "2019-03-21T09:12:44.660+00:00" }, "text": { "status": "generated", "div": "<div xmlns=\"https://www.w3.org/1999/xhtml\"><div class=\"hapiHeaderText\">Yoshinori <b>KODAMA </b></div><table class=\"hapiPropertyTable\"><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>" }, "identifier": [ { "value": "12345678" } ], "name": [ { "family": "Kodama", "given": ["Yoshinori"] } ], "gender": "male" } ãã¡ãããæ£è
ID ãªã©å©çšããŠæ€çŽ¢ããããšãå¯èœã§ãã $ curl https://localhost:8080/baseDstu3/Patient?identifier=12345678 ãããã« ä»åã®å®èšŒäºæ¥ã§ã¯ãFHIR ã®ã€ã³ã¿ãŒãã§ã€ã¹ã掻çšããããšã«ãããã·ã³ãã«ãªã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ãªãããŒã§ãè¿
éã«åŠæ¹ç®ç®¡çã·ã¹ãã ã®æ§ç¯ãã§ããé»ååŠæ¹ç®ã®éçšè©äŸ¡ãè¡ãããšãã§ããŸãããæ¬å®èšŒäºæ¥ã®æçµææå ±åæžã¯ åçåŽåçã®ãµã€ã ã«å
¬éãããŠããŸãã®ã§ã詳现ã«ã€ããŠèå³ã®ããæ¹ã¯ãã¡ãããåç
§ãã ããã https://www.mhlw.go.jp/stf/denshishohousen.html ã¡ãã¬ãŒã¯ãå®èšŒäºæ¥ã§åŸãããç¥èŠãå¯èœãªéããªãŒãã³ã«ããŠé»ååŠæ¹ç®ã®æ®åæšé²ã«åãçµãããšã¯ãã¡ãããã€ã³ã¿ãŒããããæŽ»çšãããªãŒãã³ãªæè¡ã®æ®å掻åã«ç©æ¥µçã«åãçµã¿ãå»çæ©é¢ãšæ£è
ã®åæ¹ã«ãšã£ãŠããè¯ãå»çã®å®çŸãç®æããŠãŸãããŸãã ãç¥ãã ä»åã®é»ååŠæ¹ç®å®èšŒäºæ¥ã®ææãšãã·ã¹ãã éçºã«æŽ»çšãã FHIR ã«ã€ããŠå
±æããã€ãã³ããã以äžã®ãšãã 4 æ 23 æ¥(ç«)ã«éå¬ããŸãããæéããæ¹ã¯ãã²ãåå ãã ããã https://techplay.jp/event/725549 ãŸããã¡ãã¬ãŒã§ã¯å»çæ¥çã«ååšãã課é¡ã« IT ãé§äœ¿ããŠåãçµãã§ããããã¡ã³ããŒãããã¶ã€ããŒã»ãšã³ãžãã¢ãäžå¿ã«å
šè·çš®çµ¶è³åéäžã§ããçããŸããã®ãå¿åãåŸ
ã¡ããŠãããŸãã https://www.medley.jp/recruit/creative.html
ãã¯ããã°ãã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å€§å²¡ã§ãã å
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãããã³ããšã³ãžãã¢ã UI èšèšãå®è£
ã§èããŠããããšããšããå
容ã§çºè¡šããŸãããUI èšèšããå®è£
ã®çްãã話ã§ã¯ãªãã©ãããæ°æã¡ã§æãã§ãããšãã話ã§ãåºæ¬çãªããšããæžããŠããŸããã玹ä»ãããŠããã ããã°ãšæããŸãã UI èšèš UI èšèšããã¶ã€ããŒãããŠãããããšã³ãžãã¢ãå®è£
ããå Žåãšãšã³ãžãã¢ãåç¬ã§ UI èšèšããå®è£
ãŸã§ããå ŽåããããŸããä»åã¯ããããã®ã±ãŒã¹ã§ãããã³ããšã³ããšã³ãžãã¢ãã©ãããããšãèããŠããã玹ä»ããŸãã ãšãã®åã«ãä»äººãš UI ã«ã€ããŠè©±ããšãã«æ°ãã€ããŠãèšèã§åããããããŸãšãŸã£ãŠãããã€ãŒãããã£ãã®ã§ç޹ä»ããŸãã èªåãä»ã®äººã« UI ãã¶ã€ã³ã®èª¬æããããšããããŸã䜿ããªãããã«ããŠããèšèãããã€ãããã®ã§ããããã«ã€ããŠæããŸããã ç§ã®äžã§ã¯ãããç³»ã®èšèã¯ã åå¿è
ïŒäœ¿ããã¡ äžçŽè
ïŒã»ãŒäœ¿ããªã äžçŽè
ïŒããŸã«äœ¿ã£ãŠã ã¿ãããªå°è±¡ããããŸãã pic.twitter.com/O2URgRCVHe â ã·ã³ã®ã¥ã©ãªã㣠(@singularity8888) December 2, 2018 æ®éã¯ãããã çŽæçã«ããã 䜿ãããã ãããããã ãããã®èšèã¯èª°ã«ãšã£ãŠãªã®ã?ããããŸã§ã®çµéšã«ãã£ãŠæå³åããå€ãã£ãŠããŠããŸãã®ã§å¯Ÿè±¡ãæç¢ºã«ããªããšçžæãšè©±ãåã¿åããªããªãããšãããã®ã§æ°ãã€ããŠããŸãã ä»åäœã¶æã䜿ã£ãŠããŸããå®é UI ã«ã€ããŠè©±ããšãã¯äœ¿ããªãããã«å¿ãããŠããŸã ã ãã¶ã€ããŒããç»é¢ä»æ§ããããå Žå ãã¶ã€ããŒãåªç§ã§ããã°ããã»ã©ãããã£ãç»é¢ä»æ§ãå
ã«æ©ãæãåãããããªããŸããã§ããããã¯ã°ããšå ªããŸããèœã¡çããŠä»¥äžã®ãããªããšãèããŠãŸãã ãªããã®èª²é¡ãããŸããã®ã 解決ããã課é¡ã®æ¬è³ªã¯ãªããªã®ã ä»ã®è§£æ±ºçã¯ãªãã®ã ãã®æ©èœã远å ããŠããŸãããšã«ããä»ã«åœ±é¿ãã§ãŠããŸããªãã 远å ã§ã¯ãªãä»ã®æ©èœãèœãšãããšã«ãã解決ã§ããªãã®ã ããããå¿
èŠãªã®ã ãªã©ããã®æ®µéã§çè§£ã§ããªãããšã¯ããŒã ã§è©±ãããããŠè§£æ±ºããŠãããŸããæ¬¡ã«ç»é¢ä»æ§ã«ç®ãåããŸãèããŸãã 䌌ããããªã³ã³ããŒãã³ãããã£ããçµ±äžã§ããªãã ãã䜿ããããã§ããªãã®ã æäœæãä»ãšæããã«éããªãã æäœã«å¯ŸããŠäºæ³ããåãã«ãªã£ãŠããã 衚瀺ãããŠããæ
å ±ã«æå³ãããã®ã ãªã©ãç»é¢ä»æ§ããã¯çè§£ã§ããªãããšãçåç¹ãªã©ã¯ãã¶ã€ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ããšãéœéœ¬ãã§ãªãããã«ããŸãã æãåããåã«ããçšåºŠãŠãŒã¶ã解決ããã課é¡ã粟床é«ãæ±²ã¿åãèœãšãããã ããã«åªåããŠãŸãã èªåã§ UI èšèšãããå Žå ããã¶ã€ããŒããç»é¢ä»æ§ããããå Žåãã«æžããããšããŸãã¯èããŠããŸãã ããããèžãŸãã ãã§ã«å®è£
æžã¿ã® UI ã§äŒŒããããªãã®ãããã°äŒŒãããã«äœããŸã ãçç±ãšããŠã¯æ¢ã«ãŠãŒã¶ãåŠç¿æžã¿ã® UI ã®ããæ°ãã«è¿œå ããæ©èœã ãšããŠãæ¯èŒçåŠç¿ã³ã¹ããäœããªãã®ã§ã¯ãªãããšèããããã§ãã 䌌ããã㪠UI ããªãæ°ãã«äœããªããã°ãªããªããšãã¯ä»¥äžãæèããŠããŸãã 衚瀺ããæ
å ±ã®ç²Ÿæ» 衚瀺ããæ
å ±ã¯ãªã¹ããªã®ã詳现衚瀺ãªã®ã 衚瀺ããæ
å ±ã«å¯ŸããŠã®æäœã¯ã©ããªãã®ãããã®ã æäœã«å¯ŸããŠã®ã¬ã¹ãã³ã¹ã»çŽåŸæã¯ã©ãããã°åŸãããã®ã ãšã©ãŒè¡šç€ºãã©ãããã®ã 衚瀺ããæ
å ±ãå€ãããŠåãŸãåããªãå Žåã©ãããã®ã 衚瀺ããæ
å ±ããªãå Žåã©ãããã®ã ç»é¢ãµã€ãºæ¯ã«é©åã«è¡šç€ºã§ããã ç¶æ
ïŒã¯ãªãã¯ããããŒãªã©ïŒã衚çŸã§ããŠãã ãªã¹ãã®å Žåããã©ã«ãã®é çªã¯é©åãªã®ã ãªã©ããã£ããããŒããªã©ã«æžãåºã詳现ãè©°ããŠãã£ãŠããŸããè¡ãè©°ãŸã£ããè¿·ãããã¶ã€ããŒã«çžè«ãã«ãããŸãç¬ å®è£
现ããå®è£
éšåãšããããã¯ãã£ãšå€§æ ã®åºæ¬çãªããšã§ãã玹ä»ããŸãã äœãèããã«ã³ããããªã ä¿®æ£ã倧å€ã«ãªãã®ã§äžç®æã«ãªãã¹ããŸãšãã çšéã«ãã£ãã³ã³ããŒãã³ãã䜿ã 䌌ãŠããããšäœ¿ãåããšã³ã³ããŒãã³ãä¿®æ£æã«æãã¬å€æŽãå ããå¯èœæ§ããããã ã³ã³ããŒãã³ãéã®é¢ä¿ãçã«ãªãããã«ãã 坿¥ãªé¢ä¿ã ãšæ°ã䜿ãåããªããŠã¯ãªããä¿®æ£ãå€§å€ ã³ã³ããŒãã³ããäœæããéã«ç¡çã«æ±çšæ§ãããããªã ä¿®æ£ãå°é£ã«ãªãéã«æ±çšæ§ããªããªãå Žåãå€ã Redux ã«ç®¡çãããã¹ããŒãã®ç²åºŠã¯é©åã ãªãã§ãããã§ã Redux ã«ç¶æ
ã管çãããŠããŸã£ãŠããªãã ç¡é§ãªåã¬ã³ããªã³ã°ãããŠããªãã ç¡é§ãªéä¿¡ãããŠããªãã éåæéä¿¡ã®ã¬ã¹ãã³ã¹ãé
ãå Žåã«ãµãŒããŒåŽã®åŠçã«åé¡ããªãã 颿°ã倿°ã¯é©åãªåœåã§é©åãªå Žæã«æžãããŠããã ããžãã¯ãã³ããŒã䜿ã£ãŠããŸã£ãŠããªãã 䜿ã£ãŠããšä¿®æ£å€§å€ ãªãã¹ãç°¡åã«æžããªãã ãšã©ãŒã»äŸå€æã®åãã¯é©åã ãªã©çްããããšãèšãåºãããããªããªãã§ããããããªããšæèããŠãŸãã ãããããã®ãå±ããããã« ãããããšæžããŸããã UI èšèšããå®è£
å®äºãŸã§ã¯ãªãã¹ãæ©ãçµããããããšæèããŠããŸããïŒãµã€ã¯ã«ã UI èšèš å®è£
è§Šã ãã£ãŒããã㯠ãšããå Žåã«ã ãã®ãµã€ã¯ã«ããªãªãŒã¹ãŸã§ã«å€ãåãããšã«ãã£ãŠããå€ãã®æ°ã¥ããåŸããã ããã§ããåºæ¬çã«ã¯äžåäœã£ãŠããŸãããããšã¯åžããšæã£ãŠããããã§ãã ãã ããã£ãŒãããã¯ã®æ®µéã§æ¬åœã«è²ã
ãªæèŠãã§ãŠããŸããå¿ãæããããããšãã€ã©ã€ã©ããããšããããããããŸãããã§ããããããã¯ããšããŠå¿
èŠãªã®ããä»å¿
èŠãªã®ãã察象ãšããå©çšè
ãšããŠãªã®ãããã ã®æçŽãªã®ãçãèŠæ¥µã軞ãã¶ãããªãããšã倧åã§ãã ããã³ããšã³ãã® UI ãããã©ãŒãã³ã¹ç³»ã¯äºæ¥çã«èŠããšåªå
床ãäœãå Žåãå€ãå°è±¡ãåããŸããåªå
床ãäžãããšãã¯åŒ·ãç«¶åãæ°åçãªäžæãèŠãããªããªã£ãæãªã©å±æ©æãã§ãŠãããšãããªãšãããè¶³ããªãæ©èœã远å ããªããšãããªããããããã人çãªãœãŒã¹ãè¶³ããªããªã©ãããããªãããšãªã®ããªãšãæã£ãŠããŸãã ååãªãªãŒã¹æã«æéãè¶³ããªããŠã粟床ã®é«ããã®ãäœããããšããæ°æã¡ãããããå
ã»ã©ã®ãµã€ã¯ã«ãå€ãåã äžäººã§ãå€ãã®äººã«è§Šã£ãŠãããæ°ä»ããåæ°ãå¢ããããšã¯å€§äº ãªããšã ãšæã£ãŠããŸãã ãããã« ãããŸã§ç§å人ãèããŠãããšãªã®ã§ããã³ããšã³ãžãã¢å
šãŠã«ããŠã¯ãŸãããã§ã¯ãããŸãããåºæ¥ãŠãªãããšæããŠããŸãæãæ¬è³ªçã«çè§£ããŠããªãããšãå€ã
ãããšæããŸãããèªåã¯ãããªããšãèããŠãããšãã玹ä»ã§ãããæåŸãŸã§ãèªã¿ããã ãããããšãããããŸããã ⌠ã¡ãã¬ãŒã§åãã¯ãªãšã€ã¿ãŒãã¡ã®ã¹ããŒãªãŒã¯ãã¡ã www.medley.jp
ãã¯ããã°ãã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å€§å²¡ã§ãã å
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãããã³ããšã³ãžãã¢ã UI èšèšãå®è£
ã§èããŠããããšããšããå
容ã§çºè¡šããŸãããUI èšèšããå®è£
ã®çްãã話ã§ã¯ãªãã©ãããæ°æã¡ã§æãã§ãããšãã話ã§ãåºæ¬çãªããšããæžããŠããŸããã玹ä»ãããŠããã ããã°ãšæããŸãã UI èšèš UI èšèšããã¶ã€ããŒãããŠãããããšã³ãžãã¢ãå®è£
ããå Žåãšãšã³ãžãã¢ãåç¬ã§ UI èšèšããå®è£
ãŸã§ããå ŽåããããŸããä»åã¯ããããã®ã±ãŒã¹ã§ãããã³ããšã³ããšã³ãžãã¢ãã©ãããããšãèããŠããã玹ä»ããŸãã ãšãã®åã«ãä»äººãš UI ã«ã€ããŠè©±ããšãã«æ°ãã€ããŠãèšèã§åããããããŸãšãŸã£ãŠãããã€ãŒãããã£ãã®ã§ç޹ä»ããŸãã èªåãä»ã®äººã« UI ãã¶ã€ã³ã®èª¬æããããšããããŸã䜿ããªãããã«ããŠããèšèãããã€ãããã®ã§ããããã«ã€ããŠæããŸããã ç§ã®äžã§ã¯ãããç³»ã®èšèã¯ã åå¿è
ïŒäœ¿ããã¡ äžçŽè
ïŒã»ãŒäœ¿ããªã äžçŽè
ïŒããŸã«äœ¿ã£ãŠã ã¿ãããªå°è±¡ããããŸãã pic.twitter.com/O2URgRCVHe â ã·ã³ã®ã¥ã©ãªã㣠(@singularity8888) December 2, 2018 æ®éã¯ãããã çŽæçã«ããã 䜿ãããã ãããããã ãããã®èšèã¯èª°ã«ãšã£ãŠãªã®ã?ããããŸã§ã®çµéšã«ãã£ãŠæå³åããå€ãã£ãŠããŠããŸãã®ã§å¯Ÿè±¡ãæç¢ºã«ããªããšçžæãšè©±ãåã¿åããªããªãããšãããã®ã§æ°ãã€ããŠããŸãã ä»åäœã¶æã䜿ã£ãŠããŸããå®é UI ã«ã€ããŠè©±ããšãã¯äœ¿ããªãããã«å¿ãããŠããŸã ã ãã¶ã€ããŒããç»é¢ä»æ§ããããå Žå ãã¶ã€ããŒãåªç§ã§ããã°ããã»ã©ãããã£ãç»é¢ä»æ§ãå
ã«æ©ãæãåãããããªããŸããã§ããããã¯ã°ããšå ªããŸããèœã¡çããŠä»¥äžã®ãããªããšãèããŠãŸãã ãªããã®èª²é¡ãããŸããã®ã 解決ããã課é¡ã®æ¬è³ªã¯ãªããªã®ã ä»ã®è§£æ±ºçã¯ãªãã®ã ãã®æ©èœã远å ããŠããŸãããšã«ããä»ã«åœ±é¿ãã§ãŠããŸããªãã 远å ã§ã¯ãªãä»ã®æ©èœãèœãšãããšã«ãã解決ã§ããªãã®ã ããããå¿
èŠãªã®ã ãªã©ããã®æ®µéã§çè§£ã§ããªãããšã¯ããŒã ã§è©±ãããããŠè§£æ±ºããŠãããŸããæ¬¡ã«ç»é¢ä»æ§ã«ç®ãåããŸãèããŸãã 䌌ããããªã³ã³ããŒãã³ãããã£ããçµ±äžã§ããªãã ãã䜿ããããã§ããªãã®ã æäœæãä»ãšæããã«éããªãã æäœã«å¯ŸããŠäºæ³ããåãã«ãªã£ãŠããã 衚瀺ãããŠããæ
å ±ã«æå³ãããã®ã ãªã©ãç»é¢ä»æ§ããã¯çè§£ã§ããªãããšãçåç¹ãªã©ã¯ãã¶ã€ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ããšãéœéœ¬ãã§ãªãããã«ããŸãã æãåããåã«ããçšåºŠãŠãŒã¶ã解決ããã課é¡ã粟床é«ãæ±²ã¿åãèœãšãããã ããã«åªåããŠãŸãã èªåã§ UI èšèšãããå Žå ããã¶ã€ããŒããç»é¢ä»æ§ããããå Žåãã«æžããããšããŸãã¯èããŠããŸãã ããããèžãŸãã ãã§ã«å®è£
æžã¿ã® UI ã§äŒŒããããªãã®ãããã°äŒŒãããã«äœããŸã ãçç±ãšããŠã¯æ¢ã«ãŠãŒã¶ãåŠç¿æžã¿ã® UI ã®ããæ°ãã«è¿œå ããæ©èœã ãšããŠãæ¯èŒçåŠç¿ã³ã¹ããäœããªãã®ã§ã¯ãªãããšèããããã§ãã 䌌ããã㪠UI ããªãæ°ãã«äœããªããã°ãªããªããšãã¯ä»¥äžãæèããŠããŸãã 衚瀺ããæ
å ±ã®ç²Ÿæ» 衚瀺ããæ
å ±ã¯ãªã¹ããªã®ã詳现衚瀺ãªã®ã 衚瀺ããæ
å ±ã«å¯ŸããŠã®æäœã¯ã©ããªãã®ãããã®ã æäœã«å¯ŸããŠã®ã¬ã¹ãã³ã¹ã»çŽåŸæã¯ã©ãããã°åŸãããã®ã ãšã©ãŒè¡šç€ºãã©ãããã®ã 衚瀺ããæ
å ±ãå€ãããŠåãŸãåããªãå Žåã©ãããã®ã 衚瀺ããæ
å ±ããªãå Žåã©ãããã®ã ç»é¢ãµã€ãºæ¯ã«é©åã«è¡šç€ºã§ããã ç¶æ
ïŒã¯ãªãã¯ããããŒãªã©ïŒã衚çŸã§ããŠãã ãªã¹ãã®å Žåããã©ã«ãã®é çªã¯é©åãªã®ã ãªã©ããã£ããããŒããªã©ã«æžãåºã詳现ãè©°ããŠãã£ãŠããŸããè¡ãè©°ãŸã£ããè¿·ãããã¶ã€ããŒã«çžè«ãã«ãããŸãç¬ å®è£
现ããå®è£
éšåãšããããã¯ãã£ãšå€§æ ã®åºæ¬çãªããšã§ãã玹ä»ããŸãã äœãèããã«ã³ããããªã ä¿®æ£ã倧å€ã«ãªãã®ã§äžç®æã«ãªãã¹ããŸãšãã çšéã«ãã£ãã³ã³ããŒãã³ãã䜿ã 䌌ãŠããããšäœ¿ãåããšã³ã³ããŒãã³ãä¿®æ£æã«æãã¬å€æŽãå ããå¯èœæ§ããããã ã³ã³ããŒãã³ãéã®é¢ä¿ãçã«ãªãããã«ãã 坿¥ãªé¢ä¿ã ãšæ°ã䜿ãåããªããŠã¯ãªããä¿®æ£ãå€§å€ ã³ã³ããŒãã³ããäœæããéã«ç¡çã«æ±çšæ§ãããããªã ä¿®æ£ãå°é£ã«ãªãéã«æ±çšæ§ããªããªãå Žåãå€ã Redux ã«ç®¡çãããã¹ããŒãã®ç²åºŠã¯é©åã ãªãã§ãããã§ã Redux ã«ç¶æ
ã管çãããŠããŸã£ãŠããªãã ç¡é§ãªåã¬ã³ããªã³ã°ãããŠããªãã ç¡é§ãªéä¿¡ãããŠããªãã éåæéä¿¡ã®ã¬ã¹ãã³ã¹ãé
ãå Žåã«ãµãŒããŒåŽã®åŠçã«åé¡ããªãã 颿°ã倿°ã¯é©åãªåœåã§é©åãªå Žæã«æžãããŠããã ããžãã¯ãã³ããŒã䜿ã£ãŠããŸã£ãŠããªãã 䜿ã£ãŠããšä¿®æ£å€§å€ ãªãã¹ãç°¡åã«æžããªãã ãšã©ãŒã»äŸå€æã®åãã¯é©åã ãªã©çްããããšãèšãåºãããããªããªãã§ããããããªããšæèããŠãŸãã ãããããã®ãå±ããããã« ãããããšæžããŸããã UI èšèšããå®è£
å®äºãŸã§ã¯ãªãã¹ãæ©ãçµããããããšæèããŠããŸããïŒãµã€ã¯ã«ã UI èšèš å®è£
è§Šã ãã£ãŒããã㯠ãšããå Žåã«ã ãã®ãµã€ã¯ã«ããªãªãŒã¹ãŸã§ã«å€ãåãããšã«ãã£ãŠããå€ãã®æ°ã¥ããåŸããã ããã§ããåºæ¬çã«ã¯äžåäœã£ãŠããŸãããããšã¯åžããšæã£ãŠããããã§ãã ãã ããã£ãŒãããã¯ã®æ®µéã§æ¬åœã«è²ã
ãªæèŠãã§ãŠããŸããå¿ãæããããããšãã€ã©ã€ã©ããããšããããããããŸãããã§ããããããã¯ããšããŠå¿
èŠãªã®ããä»å¿
èŠãªã®ãã察象ãšããå©çšè
ãšããŠãªã®ãããã ã®æçŽãªã®ãçãèŠæ¥µã軞ãã¶ãããªãããšã倧åã§ãã ããã³ããšã³ãã® UI ãããã©ãŒãã³ã¹ç³»ã¯äºæ¥çã«èŠããšåªå
床ãäœãå Žåãå€ãå°è±¡ãåããŸããåªå
床ãäžãããšãã¯åŒ·ãç«¶åãæ°åçãªäžæãèŠãããªããªã£ãæãªã©å±æ©æãã§ãŠãããšãããªãšãããè¶³ããªãæ©èœã远å ããªããšãããªããããããã人çãªãœãŒã¹ãè¶³ããªããªã©ãããããªãããšãªã®ããªãšãæã£ãŠããŸãã ååãªãªãŒã¹æã«æéãè¶³ããªããŠã粟床ã®é«ããã®ãäœããããšããæ°æã¡ãããããå
ã»ã©ã®ãµã€ã¯ã«ãå€ãåã äžäººã§ãå€ãã®äººã«è§Šã£ãŠãããæ°ä»ããåæ°ãå¢ããããšã¯å€§äº ãªããšã ãšæã£ãŠããŸãã ãããã« ãããŸã§ç§å人ãèããŠãããšãªã®ã§ããã³ããšã³ãžãã¢å
šãŠã«ããŠã¯ãŸãããã§ã¯ãããŸãããåºæ¥ãŠãªãããšæããŠããŸãæãæ¬è³ªçã«çè§£ããŠããªãããšãå€ã
ãããšæããŸãããèªåã¯ãããªããšãèããŠãããšãã玹ä»ã§ãããæåŸãŸã§ãèªã¿ããã ãããããšãããããŸããã ⌠ã¡ãã¬ãŒã§åãã¯ãªãšã€ã¿ãŒãã¡ã®ã¹ããŒãªãŒã¯ãã¡ã www.medley.jp
ãã¯ããã°ãã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å€§å²¡ã§ãã å
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãããã³ããšã³ãžãã¢ã UI èšèšãå®è£
ã§èããŠããããšããšããå
容ã§çºè¡šããŸãããUI èšèšããå®è£
ã®çްãã話ã§ã¯ãªãã©ãããæ°æã¡ã§æãã§ãããšãã話ã§ãåºæ¬çãªããšããæžããŠããŸããã玹ä»ãããŠããã ããã°ãšæããŸãã UI èšèš UI èšèšããã¶ã€ããŒãããŠãããããšã³ãžãã¢ãå®è£
ããå Žåãšãšã³ãžãã¢ãåç¬ã§ UI èšèšããå®è£
ãŸã§ããå ŽåããããŸããä»åã¯ããããã®ã±ãŒã¹ã§ãããã³ããšã³ããšã³ãžãã¢ãã©ãããããšãèããŠããã玹ä»ããŸãã ãšãã®åã«ãä»äººãš UI ã«ã€ããŠè©±ããšãã«æ°ãã€ããŠãèšèã§åããããããŸãšãŸã£ãŠãããã€ãŒãããã£ãã®ã§ç޹ä»ããŸãã èªåãä»ã®äººã« UI ãã¶ã€ã³ã®èª¬æããããšããããŸã䜿ããªãããã«ããŠããèšèãããã€ãããã®ã§ããããã«ã€ããŠæããŸããã ç§ã®äžã§ã¯ãããç³»ã®èšèã¯ã åå¿è
ïŒäœ¿ããã¡ äžçŽè
ïŒã»ãŒäœ¿ããªã äžçŽè
ïŒããŸã«äœ¿ã£ãŠã ã¿ãããªå°è±¡ããããŸãã pic.twitter.com/O2URgRCVHe â ã·ã³ã®ã¥ã©ãªã㣠(@singularity8888) December 2, 2018 æ®éã¯ãããã çŽæçã«ããã 䜿ãããã ãããããã ãããã®èšèã¯èª°ã«ãšã£ãŠãªã®ã?ããããŸã§ã®çµéšã«ãã£ãŠæå³åããå€ãã£ãŠããŠããŸãã®ã§å¯Ÿè±¡ãæç¢ºã«ããªããšçžæãšè©±ãåã¿åããªããªãããšãããã®ã§æ°ãã€ããŠããŸãã ä»åäœã¶æã䜿ã£ãŠããŸããå®é UI ã«ã€ããŠè©±ããšãã¯äœ¿ããªãããã«å¿ãããŠããŸã ã ãã¶ã€ããŒããç»é¢ä»æ§ããããå Žå ãã¶ã€ããŒãåªç§ã§ããã°ããã»ã©ãããã£ãç»é¢ä»æ§ãå
ã«æ©ãæãåãããããªããŸããã§ããããã¯ã°ããšå ªããŸããèœã¡çããŠä»¥äžã®ãããªããšãèããŠãŸãã ãªããã®èª²é¡ãããŸããã®ã 解決ããã課é¡ã®æ¬è³ªã¯ãªããªã®ã ä»ã®è§£æ±ºçã¯ãªãã®ã ãã®æ©èœã远å ããŠããŸãããšã«ããä»ã«åœ±é¿ãã§ãŠããŸããªãã 远å ã§ã¯ãªãä»ã®æ©èœãèœãšãããšã«ãã解決ã§ããªãã®ã ããããå¿
èŠãªã®ã ãªã©ããã®æ®µéã§çè§£ã§ããªãããšã¯ããŒã ã§è©±ãããããŠè§£æ±ºããŠãããŸããæ¬¡ã«ç»é¢ä»æ§ã«ç®ãåããŸãèããŸãã 䌌ããããªã³ã³ããŒãã³ãããã£ããçµ±äžã§ããªãã ãã䜿ããããã§ããªãã®ã æäœæãä»ãšæããã«éããªãã æäœã«å¯ŸããŠäºæ³ããåãã«ãªã£ãŠããã 衚瀺ãããŠããæ
å ±ã«æå³ãããã®ã ãªã©ãç»é¢ä»æ§ããã¯çè§£ã§ããªãããšãçåç¹ãªã©ã¯ãã¶ã€ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ããšãéœéœ¬ãã§ãªãããã«ããŸãã æãåããåã«ããçšåºŠãŠãŒã¶ã解決ããã課é¡ã粟床é«ãæ±²ã¿åãèœãšãããã ããã«åªåããŠãŸãã èªåã§ UI èšèšãããå Žå ããã¶ã€ããŒããç»é¢ä»æ§ããããå Žåãã«æžããããšããŸãã¯èããŠããŸãã ããããèžãŸãã ãã§ã«å®è£
æžã¿ã® UI ã§äŒŒããããªãã®ãããã°äŒŒãããã«äœããŸã ãçç±ãšããŠã¯æ¢ã«ãŠãŒã¶ãåŠç¿æžã¿ã® UI ã®ããæ°ãã«è¿œå ããæ©èœã ãšããŠãæ¯èŒçåŠç¿ã³ã¹ããäœããªãã®ã§ã¯ãªãããšèããããã§ãã 䌌ããã㪠UI ããªãæ°ãã«äœããªããã°ãªããªããšãã¯ä»¥äžãæèããŠããŸãã 衚瀺ããæ
å ±ã®ç²Ÿæ» 衚瀺ããæ
å ±ã¯ãªã¹ããªã®ã詳现衚瀺ãªã®ã 衚瀺ããæ
å ±ã«å¯ŸããŠã®æäœã¯ã©ããªãã®ãããã®ã æäœã«å¯ŸããŠã®ã¬ã¹ãã³ã¹ã»çŽåŸæã¯ã©ãããã°åŸãããã®ã ãšã©ãŒè¡šç€ºãã©ãããã®ã 衚瀺ããæ
å ±ãå€ãããŠåãŸãåããªãå Žåã©ãããã®ã 衚瀺ããæ
å ±ããªãå Žåã©ãããã®ã ç»é¢ãµã€ãºæ¯ã«é©åã«è¡šç€ºã§ããã ç¶æ
ïŒã¯ãªãã¯ããããŒãªã©ïŒã衚çŸã§ããŠãã ãªã¹ãã®å Žåããã©ã«ãã®é çªã¯é©åãªã®ã ãªã©ããã£ããããŒããªã©ã«æžãåºã詳现ãè©°ããŠãã£ãŠããŸããè¡ãè©°ãŸã£ããè¿·ãããã¶ã€ããŒã«çžè«ãã«ãããŸãç¬ å®è£
现ããå®è£
éšåãšããããã¯ãã£ãšå€§æ ã®åºæ¬çãªããšã§ãã玹ä»ããŸãã äœãèããã«ã³ããããªã ä¿®æ£ã倧å€ã«ãªãã®ã§äžç®æã«ãªãã¹ããŸãšãã çšéã«ãã£ãã³ã³ããŒãã³ãã䜿ã 䌌ãŠããããšäœ¿ãåããšã³ã³ããŒãã³ãä¿®æ£æã«æãã¬å€æŽãå ããå¯èœæ§ããããã ã³ã³ããŒãã³ãéã®é¢ä¿ãçã«ãªãããã«ãã 坿¥ãªé¢ä¿ã ãšæ°ã䜿ãåããªããŠã¯ãªããä¿®æ£ãå€§å€ ã³ã³ããŒãã³ããäœæããéã«ç¡çã«æ±çšæ§ãããããªã ä¿®æ£ãå°é£ã«ãªãéã«æ±çšæ§ããªããªãå Žåãå€ã Redux ã«ç®¡çãããã¹ããŒãã®ç²åºŠã¯é©åã ãªãã§ãããã§ã Redux ã«ç¶æ
ã管çãããŠããŸã£ãŠããªãã ç¡é§ãªåã¬ã³ããªã³ã°ãããŠããªãã ç¡é§ãªéä¿¡ãããŠããªãã éåæéä¿¡ã®ã¬ã¹ãã³ã¹ãé
ãå Žåã«ãµãŒããŒåŽã®åŠçã«åé¡ããªãã 颿°ã倿°ã¯é©åãªåœåã§é©åãªå Žæã«æžãããŠããã ããžãã¯ãã³ããŒã䜿ã£ãŠããŸã£ãŠããªãã 䜿ã£ãŠããšä¿®æ£å€§å€ ãªãã¹ãç°¡åã«æžããªãã ãšã©ãŒã»äŸå€æã®åãã¯é©åã ãªã©çްããããšãèšãåºãããããªããªãã§ããããããªããšæèããŠãŸãã ãããããã®ãå±ããããã« ãããããšæžããŸããã UI èšèšããå®è£
å®äºãŸã§ã¯ãªãã¹ãæ©ãçµããããããšæèããŠããŸããïŒãµã€ã¯ã«ã UI èšèš å®è£
è§Šã ãã£ãŒããã㯠ãšããå Žåã«ã ãã®ãµã€ã¯ã«ããªãªãŒã¹ãŸã§ã«å€ãåãããšã«ãã£ãŠããå€ãã®æ°ã¥ããåŸããã ããã§ããåºæ¬çã«ã¯äžåäœã£ãŠããŸãããããšã¯åžããšæã£ãŠããããã§ãã ãã ããã£ãŒãããã¯ã®æ®µéã§æ¬åœã«è²ã
ãªæèŠãã§ãŠããŸããå¿ãæããããããšãã€ã©ã€ã©ããããšããããããããŸãããã§ããããããã¯ããšããŠå¿
èŠãªã®ããä»å¿
èŠãªã®ãã察象ãšããå©çšè
ãšããŠãªã®ãããã ã®æçŽãªã®ãçãèŠæ¥µã軞ãã¶ãããªãããšã倧åã§ãã ããã³ããšã³ãã® UI ãããã©ãŒãã³ã¹ç³»ã¯äºæ¥çã«èŠããšåªå
床ãäœãå Žåãå€ãå°è±¡ãåããŸããåªå
床ãäžãããšãã¯åŒ·ãç«¶åãæ°åçãªäžæãèŠãããªããªã£ãæãªã©å±æ©æãã§ãŠãããšãããªãšãããè¶³ããªãæ©èœã远å ããªããšãããªããããããã人çãªãœãŒã¹ãè¶³ããªããªã©ãããããªãããšãªã®ããªãšãæã£ãŠããŸãã ååãªãªãŒã¹æã«æéãè¶³ããªããŠã粟床ã®é«ããã®ãäœããããšããæ°æã¡ãããããå
ã»ã©ã®ãµã€ã¯ã«ãå€ãåã äžäººã§ãå€ãã®äººã«è§Šã£ãŠãããæ°ä»ããåæ°ãå¢ããããšã¯å€§äº ãªããšã ãšæã£ãŠããŸãã ãããã« ãããŸã§ç§å人ãèããŠãããšãªã®ã§ããã³ããšã³ãžãã¢å
šãŠã«ããŠã¯ãŸãããã§ã¯ãããŸãããåºæ¥ãŠãªãããšæããŠããŸãæãæ¬è³ªçã«çè§£ããŠããªãããšãå€ã
ãããšæããŸãããèªåã¯ãããªããšãèããŠãããšãã玹ä»ã§ãããæåŸãŸã§ãèªã¿ããã ãããããšãããããŸããã ⌠ã¡ãã¬ãŒã§åãã¯ãªãšã€ã¿ãŒãã¡ã®ã¹ããŒãªãŒã¯ãã¡ã www.medley.jp
ãã¯ããã°ãã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å€§å²¡ã§ãã å
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãããã³ããšã³ãžãã¢ã UI èšèšãå®è£
ã§èããŠããããšããšããå
容ã§çºè¡šããŸãããUI èšèšããå®è£
ã®çްãã話ã§ã¯ãªãã©ãããæ°æã¡ã§æãã§ãããšãã話ã§ãåºæ¬çãªããšããæžããŠããŸããã玹ä»ãããŠããã ããã°ãšæããŸãã UI èšèš UI èšèšããã¶ã€ããŒãããŠãããããšã³ãžãã¢ãå®è£
ããå Žåãšãšã³ãžãã¢ãåç¬ã§ UI èšèšããå®è£
ãŸã§ããå ŽåããããŸããä»åã¯ããããã®ã±ãŒã¹ã§ãããã³ããšã³ããšã³ãžãã¢ãã©ãããããšãèããŠããã玹ä»ããŸãã ãšãã®åã«ãä»äººãš UI ã«ã€ããŠè©±ããšãã«æ°ãã€ããŠãèšèã§åããããããŸãšãŸã£ãŠãããã€ãŒãããã£ãã®ã§ç޹ä»ããŸãã èªåãä»ã®äººã« UI ãã¶ã€ã³ã®èª¬æããããšããããŸã䜿ããªãããã«ããŠããèšèãããã€ãããã®ã§ããããã«ã€ããŠæããŸããã ç§ã®äžã§ã¯ãããç³»ã®èšèã¯ã åå¿è
ïŒäœ¿ããã¡ äžçŽè
ïŒã»ãŒäœ¿ããªã äžçŽè
ïŒããŸã«äœ¿ã£ãŠã ã¿ãããªå°è±¡ããããŸãã pic.twitter.com/O2URgRCVHe â ã·ã³ã®ã¥ã©ãªã㣠(@singularity8888) December 2, 2018 æ®éã¯ãããã çŽæçã«ããã 䜿ãããã ãããããã ãããã®èšèã¯èª°ã«ãšã£ãŠãªã®ã?ããããŸã§ã®çµéšã«ãã£ãŠæå³åããå€ãã£ãŠããŠããŸãã®ã§å¯Ÿè±¡ãæç¢ºã«ããªããšçžæãšè©±ãåã¿åããªããªãããšãããã®ã§æ°ãã€ããŠããŸãã ä»åäœã¶æã䜿ã£ãŠããŸããå®é UI ã«ã€ããŠè©±ããšãã¯äœ¿ããªãããã«å¿ãããŠããŸã ã ãã¶ã€ããŒããç»é¢ä»æ§ããããå Žå ãã¶ã€ããŒãåªç§ã§ããã°ããã»ã©ãããã£ãç»é¢ä»æ§ãå
ã«æ©ãæãåãããããªããŸããã§ããããã¯ã°ããšå ªããŸããèœã¡çããŠä»¥äžã®ãããªããšãèããŠãŸãã ãªããã®èª²é¡ãããŸããã®ã 解決ããã課é¡ã®æ¬è³ªã¯ãªããªã®ã ä»ã®è§£æ±ºçã¯ãªãã®ã ãã®æ©èœã远å ããŠããŸãããšã«ããä»ã«åœ±é¿ãã§ãŠããŸããªãã 远å ã§ã¯ãªãä»ã®æ©èœãèœãšãããšã«ãã解決ã§ããªãã®ã ããããå¿
èŠãªã®ã ãªã©ããã®æ®µéã§çè§£ã§ããªãããšã¯ããŒã ã§è©±ãããããŠè§£æ±ºããŠãããŸããæ¬¡ã«ç»é¢ä»æ§ã«ç®ãåããŸãèããŸãã 䌌ããããªã³ã³ããŒãã³ãããã£ããçµ±äžã§ããªãã ãã䜿ããããã§ããªãã®ã æäœæãä»ãšæããã«éããªãã æäœã«å¯ŸããŠäºæ³ããåãã«ãªã£ãŠããã 衚瀺ãããŠããæ
å ±ã«æå³ãããã®ã ãªã©ãç»é¢ä»æ§ããã¯çè§£ã§ããªãããšãçåç¹ãªã©ã¯ãã¶ã€ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ããšãéœéœ¬ãã§ãªãããã«ããŸãã æãåããåã«ããçšåºŠãŠãŒã¶ã解決ããã課é¡ã粟床é«ãæ±²ã¿åãèœãšãããã ããã«åªåããŠãŸãã èªåã§ UI èšèšãããå Žå ããã¶ã€ããŒããç»é¢ä»æ§ããããå Žåãã«æžããããšããŸãã¯èããŠããŸãã ããããèžãŸãã ãã§ã«å®è£
æžã¿ã® UI ã§äŒŒããããªãã®ãããã°äŒŒãããã«äœããŸã ãçç±ãšããŠã¯æ¢ã«ãŠãŒã¶ãåŠç¿æžã¿ã® UI ã®ããæ°ãã«è¿œå ããæ©èœã ãšããŠãæ¯èŒçåŠç¿ã³ã¹ããäœããªãã®ã§ã¯ãªãããšèããããã§ãã 䌌ããã㪠UI ããªãæ°ãã«äœããªããã°ãªããªããšãã¯ä»¥äžãæèããŠããŸãã 衚瀺ããæ
å ±ã®ç²Ÿæ» 衚瀺ããæ
å ±ã¯ãªã¹ããªã®ã詳现衚瀺ãªã®ã 衚瀺ããæ
å ±ã«å¯ŸããŠã®æäœã¯ã©ããªãã®ãããã®ã æäœã«å¯ŸããŠã®ã¬ã¹ãã³ã¹ã»çŽåŸæã¯ã©ãããã°åŸãããã®ã ãšã©ãŒè¡šç€ºãã©ãããã®ã 衚瀺ããæ
å ±ãå€ãããŠåãŸãåããªãå Žåã©ãããã®ã 衚瀺ããæ
å ±ããªãå Žåã©ãããã®ã ç»é¢ãµã€ãºæ¯ã«é©åã«è¡šç€ºã§ããã ç¶æ
ïŒã¯ãªãã¯ããããŒãªã©ïŒã衚çŸã§ããŠãã ãªã¹ãã®å Žåããã©ã«ãã®é çªã¯é©åãªã®ã ãªã©ããã£ããããŒããªã©ã«æžãåºã詳现ãè©°ããŠãã£ãŠããŸããè¡ãè©°ãŸã£ããè¿·ãããã¶ã€ããŒã«çžè«ãã«ãããŸãç¬ å®è£
现ããå®è£
éšåãšããããã¯ãã£ãšå€§æ ã®åºæ¬çãªããšã§ãã玹ä»ããŸãã äœãèããã«ã³ããããªã ä¿®æ£ã倧å€ã«ãªãã®ã§äžç®æã«ãªãã¹ããŸãšãã çšéã«ãã£ãã³ã³ããŒãã³ãã䜿ã 䌌ãŠããããšäœ¿ãåããšã³ã³ããŒãã³ãä¿®æ£æã«æãã¬å€æŽãå ããå¯èœæ§ããããã ã³ã³ããŒãã³ãéã®é¢ä¿ãçã«ãªãããã«ãã 坿¥ãªé¢ä¿ã ãšæ°ã䜿ãåããªããŠã¯ãªããä¿®æ£ãå€§å€ ã³ã³ããŒãã³ããäœæããéã«ç¡çã«æ±çšæ§ãããããªã ä¿®æ£ãå°é£ã«ãªãéã«æ±çšæ§ããªããªãå Žåãå€ã Redux ã«ç®¡çãããã¹ããŒãã®ç²åºŠã¯é©åã ãªãã§ãããã§ã Redux ã«ç¶æ
ã管çãããŠããŸã£ãŠããªãã ç¡é§ãªåã¬ã³ããªã³ã°ãããŠããªãã ç¡é§ãªéä¿¡ãããŠããªãã éåæéä¿¡ã®ã¬ã¹ãã³ã¹ãé
ãå Žåã«ãµãŒããŒåŽã®åŠçã«åé¡ããªãã 颿°ã倿°ã¯é©åãªåœåã§é©åãªå Žæã«æžãããŠããã ããžãã¯ãã³ããŒã䜿ã£ãŠããŸã£ãŠããªãã 䜿ã£ãŠããšä¿®æ£å€§å€ ãªãã¹ãç°¡åã«æžããªãã ãšã©ãŒã»äŸå€æã®åãã¯é©åã ãªã©çްããããšãèšãåºãããããªããªãã§ããããããªããšæèããŠãŸãã ãããããã®ãå±ããããã« ãããããšæžããŸããã UI èšèšããå®è£
å®äºãŸã§ã¯ãªãã¹ãæ©ãçµããããããšæèããŠããŸããïŒãµã€ã¯ã«ã UI èšèš å®è£
è§Šã ãã£ãŒããã㯠ãšããå Žåã«ã ãã®ãµã€ã¯ã«ããªãªãŒã¹ãŸã§ã«å€ãåãããšã«ãã£ãŠããå€ãã®æ°ã¥ããåŸããã ããã§ããåºæ¬çã«ã¯äžåäœã£ãŠããŸãããããšã¯åžããšæã£ãŠããããã§ãã ãã ããã£ãŒãããã¯ã®æ®µéã§æ¬åœã«è²ã
ãªæèŠãã§ãŠããŸããå¿ãæããããããšãã€ã©ã€ã©ããããšããããããããŸãããã§ããããããã¯ããšããŠå¿
èŠãªã®ããä»å¿
èŠãªã®ãã察象ãšããå©çšè
ãšããŠãªã®ãããã ã®æçŽãªã®ãçãèŠæ¥µã軞ãã¶ãããªãããšã倧åã§ãã ããã³ããšã³ãã® UI ãããã©ãŒãã³ã¹ç³»ã¯äºæ¥çã«èŠããšåªå
床ãäœãå Žåãå€ãå°è±¡ãåããŸããåªå
床ãäžãããšãã¯åŒ·ãç«¶åãæ°åçãªäžæãèŠãããªããªã£ãæãªã©å±æ©æãã§ãŠãããšãããªãšãããè¶³ããªãæ©èœã远å ããªããšãããªããããããã人çãªãœãŒã¹ãè¶³ããªããªã©ãããããªãããšãªã®ããªãšãæã£ãŠããŸãã ååãªãªãŒã¹æã«æéãè¶³ããªããŠã粟床ã®é«ããã®ãäœããããšããæ°æã¡ãããããå
ã»ã©ã®ãµã€ã¯ã«ãå€ãåã äžäººã§ãå€ãã®äººã«è§Šã£ãŠãããæ°ä»ããåæ°ãå¢ããããšã¯å€§äº ãªããšã ãšæã£ãŠããŸãã ãããã« ãããŸã§ç§å人ãèããŠãããšãªã®ã§ããã³ããšã³ãžãã¢å
šãŠã«ããŠã¯ãŸãããã§ã¯ãããŸãããåºæ¥ãŠãªãããšæããŠããŸãæãæ¬è³ªçã«çè§£ããŠããªãããšãå€ã
ãããšæããŸãããèªåã¯ãããªããšãèããŠãããšãã玹ä»ã§ãããæåŸãŸã§ãèªã¿ããã ãããããšãããããŸããã ⌠ã¡ãã¬ãŒã§åãã¯ãªãšã€ã¿ãŒãã¡ã®ã¹ããŒãªãŒã¯ãã¡ã www.medley.jp
ãã¯ããã°ãã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å€§å²¡ã§ãã å
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãããã³ããšã³ãžãã¢ã UI èšèšãå®è£
ã§èããŠããããšããšããå
容ã§çºè¡šããŸãããUI èšèšããå®è£
ã®çްãã話ã§ã¯ãªãã©ãããæ°æã¡ã§æãã§ãããšãã話ã§ãåºæ¬çãªããšããæžããŠããŸããã玹ä»ãããŠããã ããã°ãšæããŸãã UI èšèš UI èšèšããã¶ã€ããŒãããŠãããããšã³ãžãã¢ãå®è£
ããå Žåãšãšã³ãžãã¢ãåç¬ã§ UI èšèšããå®è£
ãŸã§ããå ŽåããããŸããä»åã¯ããããã®ã±ãŒã¹ã§ãããã³ããšã³ããšã³ãžãã¢ãã©ãããããšãèããŠããã玹ä»ããŸãã ãšãã®åã«ãä»äººãš UI ã«ã€ããŠè©±ããšãã«æ°ãã€ããŠãèšèã§åããããããŸãšãŸã£ãŠãããã€ãŒãããã£ãã®ã§ç޹ä»ããŸãã èªåãä»ã®äººã« UI ãã¶ã€ã³ã®èª¬æããããšããããŸã䜿ããªãããã«ããŠããèšèãããã€ãããã®ã§ããããã«ã€ããŠæããŸããã ç§ã®äžã§ã¯ãããç³»ã®èšèã¯ã åå¿è
ïŒäœ¿ããã¡ äžçŽè
ïŒã»ãŒäœ¿ããªã äžçŽè
ïŒããŸã«äœ¿ã£ãŠã ã¿ãããªå°è±¡ããããŸãã pic.twitter.com/O2URgRCVHe â ã·ã³ã®ã¥ã©ãªã㣠(@singularity8888) December 2, 2018 æ®éã¯ãããã çŽæçã«ããã 䜿ãããã ãããããã ãããã®èšèã¯èª°ã«ãšã£ãŠãªã®ã?ããããŸã§ã®çµéšã«ãã£ãŠæå³åããå€ãã£ãŠããŠããŸãã®ã§å¯Ÿè±¡ãæç¢ºã«ããªããšçžæãšè©±ãåã¿åããªããªãããšãããã®ã§æ°ãã€ããŠããŸãã ä»åäœã¶æã䜿ã£ãŠããŸããå®é UI ã«ã€ããŠè©±ããšãã¯äœ¿ããªãããã«å¿ãããŠããŸã ã ãã¶ã€ããŒããç»é¢ä»æ§ããããå Žå ãã¶ã€ããŒãåªç§ã§ããã°ããã»ã©ãããã£ãç»é¢ä»æ§ãå
ã«æ©ãæãåãããããªããŸããã§ããããã¯ã°ããšå ªããŸããèœã¡çããŠä»¥äžã®ãããªããšãèããŠãŸãã ãªããã®èª²é¡ãããŸããã®ã 解決ããã課é¡ã®æ¬è³ªã¯ãªããªã®ã ä»ã®è§£æ±ºçã¯ãªãã®ã ãã®æ©èœã远å ããŠããŸãããšã«ããä»ã«åœ±é¿ãã§ãŠããŸããªãã 远å ã§ã¯ãªãä»ã®æ©èœãèœãšãããšã«ãã解決ã§ããªãã®ã ããããå¿
èŠãªã®ã ãªã©ããã®æ®µéã§çè§£ã§ããªãããšã¯ããŒã ã§è©±ãããããŠè§£æ±ºããŠãããŸããæ¬¡ã«ç»é¢ä»æ§ã«ç®ãåããŸãèããŸãã 䌌ããããªã³ã³ããŒãã³ãããã£ããçµ±äžã§ããªãã ãã䜿ããããã§ããªãã®ã æäœæãä»ãšæããã«éããªãã æäœã«å¯ŸããŠäºæ³ããåãã«ãªã£ãŠããã 衚瀺ãããŠããæ
å ±ã«æå³ãããã®ã ãªã©ãç»é¢ä»æ§ããã¯çè§£ã§ããªãããšãçåç¹ãªã©ã¯ãã¶ã€ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ããšãéœéœ¬ãã§ãªãããã«ããŸãã æãåããåã«ããçšåºŠãŠãŒã¶ã解決ããã課é¡ã粟床é«ãæ±²ã¿åãèœãšãããã ããã«åªåããŠãŸãã èªåã§ UI èšèšãããå Žå ããã¶ã€ããŒããç»é¢ä»æ§ããããå Žåãã«æžããããšããŸãã¯èããŠããŸãã ããããèžãŸãã ãã§ã«å®è£
æžã¿ã® UI ã§äŒŒããããªãã®ãããã°äŒŒãããã«äœããŸã ãçç±ãšããŠã¯æ¢ã«ãŠãŒã¶ãåŠç¿æžã¿ã® UI ã®ããæ°ãã«è¿œå ããæ©èœã ãšããŠãæ¯èŒçåŠç¿ã³ã¹ããäœããªãã®ã§ã¯ãªãããšèããããã§ãã 䌌ããã㪠UI ããªãæ°ãã«äœããªããã°ãªããªããšãã¯ä»¥äžãæèããŠããŸãã 衚瀺ããæ
å ±ã®ç²Ÿæ» 衚瀺ããæ
å ±ã¯ãªã¹ããªã®ã詳现衚瀺ãªã®ã 衚瀺ããæ
å ±ã«å¯ŸããŠã®æäœã¯ã©ããªãã®ãããã®ã æäœã«å¯ŸããŠã®ã¬ã¹ãã³ã¹ã»çŽåŸæã¯ã©ãããã°åŸãããã®ã ãšã©ãŒè¡šç€ºãã©ãããã®ã 衚瀺ããæ
å ±ãå€ãããŠåãŸãåããªãå Žåã©ãããã®ã 衚瀺ããæ
å ±ããªãå Žåã©ãããã®ã ç»é¢ãµã€ãºæ¯ã«é©åã«è¡šç€ºã§ããã ç¶æ
ïŒã¯ãªãã¯ããããŒãªã©ïŒã衚çŸã§ããŠãã ãªã¹ãã®å Žåããã©ã«ãã®é çªã¯é©åãªã®ã ãªã©ããã£ããããŒããªã©ã«æžãåºã詳现ãè©°ããŠãã£ãŠããŸããè¡ãè©°ãŸã£ããè¿·ãããã¶ã€ããŒã«çžè«ãã«ãããŸãç¬ å®è£
现ããå®è£
éšåãšããããã¯ãã£ãšå€§æ ã®åºæ¬çãªããšã§ãã玹ä»ããŸãã äœãèããã«ã³ããããªã ä¿®æ£ã倧å€ã«ãªãã®ã§äžç®æã«ãªãã¹ããŸãšãã çšéã«ãã£ãã³ã³ããŒãã³ãã䜿ã 䌌ãŠããããšäœ¿ãåããšã³ã³ããŒãã³ãä¿®æ£æã«æãã¬å€æŽãå ããå¯èœæ§ããããã ã³ã³ããŒãã³ãéã®é¢ä¿ãçã«ãªãããã«ãã 坿¥ãªé¢ä¿ã ãšæ°ã䜿ãåããªããŠã¯ãªããä¿®æ£ãå€§å€ ã³ã³ããŒãã³ããäœæããéã«ç¡çã«æ±çšæ§ãããããªã ä¿®æ£ãå°é£ã«ãªãéã«æ±çšæ§ããªããªãå Žåãå€ã Redux ã«ç®¡çãããã¹ããŒãã®ç²åºŠã¯é©åã ãªãã§ãããã§ã Redux ã«ç¶æ
ã管çãããŠããŸã£ãŠããªãã ç¡é§ãªåã¬ã³ããªã³ã°ãããŠããªãã ç¡é§ãªéä¿¡ãããŠããªãã éåæéä¿¡ã®ã¬ã¹ãã³ã¹ãé
ãå Žåã«ãµãŒããŒåŽã®åŠçã«åé¡ããªãã 颿°ã倿°ã¯é©åãªåœåã§é©åãªå Žæã«æžãããŠããã ããžãã¯ãã³ããŒã䜿ã£ãŠããŸã£ãŠããªãã 䜿ã£ãŠããšä¿®æ£å€§å€ ãªãã¹ãç°¡åã«æžããªãã ãšã©ãŒã»äŸå€æã®åãã¯é©åã ãªã©çްããããšãèšãåºãããããªããªãã§ããããããªããšæèããŠãŸãã ãããããã®ãå±ããããã« ãããããšæžããŸããã UI èšèšããå®è£
å®äºãŸã§ã¯ãªãã¹ãæ©ãçµããããããšæèããŠããŸããïŒãµã€ã¯ã«ã UI èšèš å®è£
è§Šã ãã£ãŒããã㯠ãšããå Žåã«ã ãã®ãµã€ã¯ã«ããªãªãŒã¹ãŸã§ã«å€ãåãããšã«ãã£ãŠããå€ãã®æ°ã¥ããåŸããã ããã§ããåºæ¬çã«ã¯äžåäœã£ãŠããŸãããããšã¯åžããšæã£ãŠããããã§ãã ãã ããã£ãŒãããã¯ã®æ®µéã§æ¬åœã«è²ã
ãªæèŠãã§ãŠããŸããå¿ãæããããããšãã€ã©ã€ã©ããããšããããããããŸãããã§ããããããã¯ããšããŠå¿
èŠãªã®ããä»å¿
èŠãªã®ãã察象ãšããå©çšè
ãšããŠãªã®ãããã ã®æçŽãªã®ãçãèŠæ¥µã軞ãã¶ãããªãããšã倧åã§ãã ããã³ããšã³ãã® UI ãããã©ãŒãã³ã¹ç³»ã¯äºæ¥çã«èŠããšåªå
床ãäœãå Žåãå€ãå°è±¡ãåããŸããåªå
床ãäžãããšãã¯åŒ·ãç«¶åãæ°åçãªäžæãèŠãããªããªã£ãæãªã©å±æ©æãã§ãŠãããšãããªãšãããè¶³ããªãæ©èœã远å ããªããšãããªããããããã人çãªãœãŒã¹ãè¶³ããªããªã©ãããããªãããšãªã®ããªãšãæã£ãŠããŸãã ååãªãªãŒã¹æã«æéãè¶³ããªããŠã粟床ã®é«ããã®ãäœããããšããæ°æã¡ãããããå
ã»ã©ã®ãµã€ã¯ã«ãå€ãåã äžäººã§ãå€ãã®äººã«è§Šã£ãŠãããæ°ä»ããåæ°ãå¢ããããšã¯å€§äº ãªããšã ãšæã£ãŠããŸãã ãããã« ãããŸã§ç§å人ãèããŠãããšãªã®ã§ããã³ããšã³ãžãã¢å
šãŠã«ããŠã¯ãŸãããã§ã¯ãããŸãããåºæ¥ãŠãªãããšæããŠããŸãæãæ¬è³ªçã«çè§£ããŠããªãããšãå€ã
ãããšæããŸãããèªåã¯ãããªããšãèããŠãããšãã玹ä»ã§ãããæåŸãŸã§ãèªã¿ããã ãããããšãããããŸããã ⌠ã¡ãã¬ãŒã§åãã¯ãªãšã€ã¿ãŒãã¡ã®ã¹ããŒãªãŒã¯ãã¡ã www.medley.jp
ãã¯ããã°ãã¡ã¯ãéçºæ¬éšãšã³ãžãã¢ã®å€§å²¡ã§ãã å
æ¥ãTechLunch ãšãã瀟å
å匷äŒã§ãããã³ããšã³ãžãã¢ã UI èšèšãå®è£
ã§èããŠããããšããšããå
容ã§çºè¡šããŸãããUI èšèšããå®è£
ã®çްãã話ã§ã¯ãªãã©ãããæ°æã¡ã§æãã§ãããšãã話ã§ãåºæ¬çãªããšããæžããŠããŸããã玹ä»ãããŠããã ããã°ãšæããŸãã UI èšèš UI èšèšããã¶ã€ããŒãããŠãããããšã³ãžãã¢ãå®è£
ããå Žåãšãšã³ãžãã¢ãåç¬ã§ UI èšèšããå®è£
ãŸã§ããå ŽåããããŸããä»åã¯ããããã®ã±ãŒã¹ã§ãããã³ããšã³ããšã³ãžãã¢ãã©ãããããšãèããŠããã玹ä»ããŸãã ãšãã®åã«ãä»äººãš UI ã«ã€ããŠè©±ããšãã«æ°ãã€ããŠãèšèã§åããããããŸãšãŸã£ãŠãããã€ãŒãããã£ãã®ã§ç޹ä»ããŸãã èªåãä»ã®äººã« UI ãã¶ã€ã³ã®èª¬æããããšããããŸã䜿ããªãããã«ããŠããèšèãããã€ãããã®ã§ããããã«ã€ããŠæããŸããã ç§ã®äžã§ã¯ãããç³»ã®èšèã¯ã åå¿è
ïŒäœ¿ããã¡ äžçŽè
ïŒã»ãŒäœ¿ããªã äžçŽè
ïŒããŸã«äœ¿ã£ãŠã ã¿ãããªå°è±¡ããããŸãã pic.twitter.com/O2URgRCVHe â ã·ã³ã®ã¥ã©ãªã㣠(@singularity8888) December 2, 2018 æ®éã¯ãããã çŽæçã«ããã 䜿ãããã ãããããã ãããã®èšèã¯èª°ã«ãšã£ãŠãªã®ã?ããããŸã§ã®çµéšã«ãã£ãŠæå³åããå€ãã£ãŠããŠããŸãã®ã§å¯Ÿè±¡ãæç¢ºã«ããªããšçžæãšè©±ãåã¿åããªããªãããšãããã®ã§æ°ãã€ããŠããŸãã ä»åäœã¶æã䜿ã£ãŠããŸããå®é UI ã«ã€ããŠè©±ããšãã¯äœ¿ããªãããã«å¿ãããŠããŸã ã ãã¶ã€ããŒããç»é¢ä»æ§ããããå Žå ãã¶ã€ããŒãåªç§ã§ããã°ããã»ã©ãããã£ãç»é¢ä»æ§ãå
ã«æ©ãæãåãããããªããŸããã§ããããã¯ã°ããšå ªããŸããèœã¡çããŠä»¥äžã®ãããªããšãèããŠãŸãã ãªããã®èª²é¡ãããŸããã®ã 解決ããã課é¡ã®æ¬è³ªã¯ãªããªã®ã ä»ã®è§£æ±ºçã¯ãªãã®ã ãã®æ©èœã远å ããŠããŸãããšã«ããä»ã«åœ±é¿ãã§ãŠããŸããªãã 远å ã§ã¯ãªãä»ã®æ©èœãèœãšãããšã«ãã解決ã§ããªãã®ã ããããå¿
èŠãªã®ã ãªã©ããã®æ®µéã§çè§£ã§ããªãããšã¯ããŒã ã§è©±ãããããŠè§£æ±ºããŠãããŸããæ¬¡ã«ç»é¢ä»æ§ã«ç®ãåããŸãèããŸãã 䌌ããããªã³ã³ããŒãã³ãããã£ããçµ±äžã§ããªãã ãã䜿ããããã§ããªãã®ã æäœæãä»ãšæããã«éããªãã æäœã«å¯ŸããŠäºæ³ããåãã«ãªã£ãŠããã 衚瀺ãããŠããæ
å ±ã«æå³ãããã®ã ãªã©ãç»é¢ä»æ§ããã¯çè§£ã§ããªãããšãçåç¹ãªã©ã¯ãã¶ã€ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ããšãéœéœ¬ãã§ãªãããã«ããŸãã æãåããåã«ããçšåºŠãŠãŒã¶ã解決ããã課é¡ã粟床é«ãæ±²ã¿åãèœãšãããã ããã«åªåããŠãŸãã èªåã§ UI èšèšãããå Žå ããã¶ã€ããŒããç»é¢ä»æ§ããããå Žåãã«æžããããšããŸãã¯èããŠããŸãã ããããèžãŸãã ãã§ã«å®è£
æžã¿ã® UI ã§äŒŒããããªãã®ãããã°äŒŒãããã«äœããŸã ãçç±ãšããŠã¯æ¢ã«ãŠãŒã¶ãåŠç¿æžã¿ã® UI ã®ããæ°ãã«è¿œå ããæ©èœã ãšããŠãæ¯èŒçåŠç¿ã³ã¹ããäœããªãã®ã§ã¯ãªãããšèããããã§ãã 䌌ããã㪠UI ããªãæ°ãã«äœããªããã°ãªããªããšãã¯ä»¥äžãæèããŠããŸãã 衚瀺ããæ
å ±ã®ç²Ÿæ» 衚瀺ããæ
å ±ã¯ãªã¹ããªã®ã詳现衚瀺ãªã®ã 衚瀺ããæ
å ±ã«å¯ŸããŠã®æäœã¯ã©ããªãã®ãããã®ã æäœã«å¯ŸããŠã®ã¬ã¹ãã³ã¹ã»çŽåŸæã¯ã©ãããã°åŸãããã®ã ãšã©ãŒè¡šç€ºãã©ãããã®ã 衚瀺ããæ
å ±ãå€ãããŠåãŸãåããªãå Žåã©ãããã®ã 衚瀺ããæ
å ±ããªãå Žåã©ãããã®ã ç»é¢ãµã€ãºæ¯ã«é©åã«è¡šç€ºã§ããã ç¶æ
ïŒã¯ãªãã¯ããããŒãªã©ïŒã衚çŸã§ããŠãã ãªã¹ãã®å Žåããã©ã«ãã®é çªã¯é©åãªã®ã ãªã©ããã£ããããŒããªã©ã«æžãåºã詳现ãè©°ããŠãã£ãŠããŸããè¡ãè©°ãŸã£ããè¿·ãããã¶ã€ããŒã«çžè«ãã«ãããŸãç¬ å®è£
现ããå®è£
éšåãšããããã¯ãã£ãšå€§æ ã®åºæ¬çãªããšã§ãã玹ä»ããŸãã äœãèããã«ã³ããããªã ä¿®æ£ã倧å€ã«ãªãã®ã§äžç®æã«ãªãã¹ããŸãšãã çšéã«ãã£ãã³ã³ããŒãã³ãã䜿ã 䌌ãŠããããšäœ¿ãåããšã³ã³ããŒãã³ãä¿®æ£æã«æãã¬å€æŽãå ããå¯èœæ§ããããã ã³ã³ããŒãã³ãéã®é¢ä¿ãçã«ãªãããã«ãã 坿¥ãªé¢ä¿ã ãšæ°ã䜿ãåããªããŠã¯ãªããä¿®æ£ãå€§å€ ã³ã³ããŒãã³ããäœæããéã«ç¡çã«æ±çšæ§ãããããªã ä¿®æ£ãå°é£ã«ãªãéã«æ±çšæ§ããªããªãå Žåãå€ã Redux ã«ç®¡çãããã¹ããŒãã®ç²åºŠã¯é©åã ãªãã§ãããã§ã Redux ã«ç¶æ
ã管çãããŠããŸã£ãŠããªãã ç¡é§ãªåã¬ã³ããªã³ã°ãããŠããªãã ç¡é§ãªéä¿¡ãããŠããªãã éåæéä¿¡ã®ã¬ã¹ãã³ã¹ãé
ãå Žåã«ãµãŒããŒåŽã®åŠçã«åé¡ããªãã 颿°ã倿°ã¯é©åãªåœåã§é©åãªå Žæã«æžãããŠããã ããžãã¯ãã³ããŒã䜿ã£ãŠããŸã£ãŠããªãã 䜿ã£ãŠããšä¿®æ£å€§å€ ãªãã¹ãç°¡åã«æžããªãã ãšã©ãŒã»äŸå€æã®åãã¯é©åã ãªã©çްããããšãèšãåºãããããªããªãã§ããããããªããšæèããŠãŸãã ãããããã®ãå±ããããã« ãããããšæžããŸããã UI èšèšããå®è£
å®äºãŸã§ã¯ãªãã¹ãæ©ãçµããããããšæèããŠããŸããïŒãµã€ã¯ã«ã UI èšèš å®è£
è§Šã ãã£ãŒããã㯠ãšããå Žåã«ã ãã®ãµã€ã¯ã«ããªãªãŒã¹ãŸã§ã«å€ãåãããšã«ãã£ãŠããå€ãã®æ°ã¥ããåŸããã ããã§ããåºæ¬çã«ã¯äžåäœã£ãŠããŸãããããšã¯åžããšæã£ãŠããããã§ãã ãã ããã£ãŒãããã¯ã®æ®µéã§æ¬åœã«è²ã
ãªæèŠãã§ãŠããŸããå¿ãæããããããšãã€ã©ã€ã©ããããšããããããããŸãããã§ããããããã¯ããšããŠå¿
èŠãªã®ããä»å¿
èŠãªã®ãã察象ãšããå©çšè
ãšããŠãªã®ãããã ã®æçŽãªã®ãçãèŠæ¥µã軞ãã¶ãããªãããšã倧åã§ãã ããã³ããšã³ãã® UI ãããã©ãŒãã³ã¹ç³»ã¯äºæ¥çã«èŠããšåªå
床ãäœãå Žåãå€ãå°è±¡ãåããŸããåªå
床ãäžãããšãã¯åŒ·ãç«¶åãæ°åçãªäžæãèŠãããªããªã£ãæãªã©å±æ©æãã§ãŠãããšãããªãšãããè¶³ããªãæ©èœã远å ããªããšãããªããããããã人çãªãœãŒã¹ãè¶³ããªããªã©ãããããªãããšãªã®ããªãšãæã£ãŠããŸãã ååãªãªãŒã¹æã«æéãè¶³ããªããŠã粟床ã®é«ããã®ãäœããããšããæ°æã¡ãããããå
ã»ã©ã®ãµã€ã¯ã«ãå€ãåã äžäººã§ãå€ãã®äººã«è§Šã£ãŠãããæ°ä»ããåæ°ãå¢ããããšã¯å€§äº ãªããšã ãšæã£ãŠããŸãã ãããã« ãããŸã§ç§å人ãèããŠãããšãªã®ã§ããã³ããšã³ãžãã¢å
šãŠã«ããŠã¯ãŸãããã§ã¯ãããŸãããåºæ¥ãŠãªãããšæããŠããŸãæãæ¬è³ªçã«çè§£ããŠããªãããšãå€ã
ãããšæããŸãããèªåã¯ãããªããšãèããŠãããšãã玹ä»ã§ãããæåŸãŸã§ãèªã¿ããã ãããããšãããããŸããã ⌠ã¡ãã¬ãŒã§åãã¯ãªãšã€ã¿ãŒãã¡ã®ã¹ããŒãªãŒã¯ãã¡ã www.medley.jp