• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Asymmetrik/graphql-fhir: A secure GraphQL implementation for the HL7 FHIR specif ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

Asymmetrik/graphql-fhir

开源软件地址(OpenSource Url):

https://github.com/Asymmetrik/graphql-fhir

开源编程语言(OpenSource Language):

JavaScript 100.0%

开源软件介绍(OpenSource Introduction):

GraphQL-FHIR Build Status Coverage Status GitHub license

A secure GraphQL implementation for the HL7 FHIR specification based on the current implementation guide for GraphQL with FHIR and developed with Node.js and Express.

Prerequisites

You should have a basic understanding of working in Node.js and at least a basic understanding of what GraphQL is and how it works.

Getting Started

  1. Installation
git clone https://github.com/Asymmetrik/graphql-fhir.git
cd graphql-fhir
yarn install
  1. Start a local dev server
# For development
yarn nodemon
  1. View http://localhost:3000/3_0_1/$graphiql to explore the available queries and mutations in the graphiql interface. The standard graphql endpoint is available at http://localhost:3000/3_0_1/$graphql.

What's next

See our Frequently Asked Questions for explanations on how to configure the server, connect to an actual database, setup authentication, and more. You can also read up on the project structure under the Architecture section if you are curious about that kind of thing. If you are want to know about our future plans, see our Roadmap. If you have any other questions, please ask them on StackOverflow with the tag graphql-fhir.

Frequently Asked Questions

Architecture

We designed this project in the way that we did so we can support multiple versions simultaneously and add new versions very quickly. Everything in src/resources is generated by an internal tool that reads Structure Definitions downloaded from the official FHIR website. The tool output's schemas, inputs, parameter files, custom scalars, and profile endpoints, which includes files used to register queries and mutations with the server as well as resolvers.

If you decide to use this server, you will rarely need to modify code in src/resources except for code in the profiles, since this is where you add resolver logic and configure which profiles you want to support.

The folder structure for the project looks like this:

src
| - config.js
| # Contains server and version configuration 
| - index.js
| # Entry to the application
| - src/lib
| # Contains custom libs we use, server, logger's, etc
| - src/middleware
| # Custom express middleware
| - src/scripts
| # Scripts for local development and testing.
| - src/utils
| # Various utilities used throughout the application
| - src/resources
| # All the code in here is auto generated for each version
|  | - 3_0_1
|  | # This directory contains all the 3_0_1 logic
|  |  | - inputs
|  |  | # Contains all input schemas for mutations
|  |  | - parameters
|  |  | # Defines what arguments can be provided to search operations.
|  |  | - scalars
|  |  | # Contains some custom FHIR types.
|  |  | - schemas
|  |  |  # Defines all the output schemas.
|  |  | - profiles
|  |  |  # Contains all the configurable profiles for GraphQL.
|  |  |  | - patient # or any other resource for that matter
|  |  |  |  | - index.js
|  |  |  |  | # File used to register capabilities with the server
|  |  |  |  | - mutation.js
|  |  |  |  | # Mutations configuration. Auto-Generated and should not modify
|  |  |  |  | - query.js
|  |  |  |  | # Query configuration. Auto-Generated and should not modify 
|  |  |  |  | - resolver.js
|  |  |  |  | # Contains placeholders, your logic to query your backend goes here.

Roadmap

  • Authentication Initializers and passport support
  • Better documentation on setup and configurations
  • Change return format for ResourceList queries to a FHIR Bundle instead of a GraphQLList
  • Implementation guides and demos
  • Support for more resources
    • USCore resources.
  • Support for more versions
    • DSTU2 (1.0.2).
    • STU3 (3.0.1).
    • R4
  • Work with community to continue to establish best practices for FHIR with GraphQL and implement them here.

Contributing

Please see CONTRIBUTING.md for more details regarding contributing issues or code.

License

graphql-fhir is MIT licensed.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap