Skip to content

Commit 49548cc

Browse files
committed
Initial commit
0 parents  commit 49548cc

File tree

21 files changed

+475
-0
lines changed

21 files changed

+475
-0
lines changed

.github/workflows/CompatHelper.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: CompatHelper
2+
on:
3+
schedule:
4+
- cron: 0 0 * * *
5+
workflow_dispatch:
6+
jobs:
7+
CompatHelper:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Pkg.add("CompatHelper")
11+
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
12+
- name: CompatHelper.main()
13+
env:
14+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
15+
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
16+
run: julia -e 'using CompatHelper; CompatHelper.main()'

.github/workflows/TagBot.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: TagBot
2+
on:
3+
issue_comment:
4+
types:
5+
- created
6+
workflow_dispatch:
7+
jobs:
8+
TagBot:
9+
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: JuliaRegistries/TagBot@v1
13+
with:
14+
token: ${{ secrets.GITHUB_TOKEN }}
15+
ssh: ${{ secrets.DOCUMENTER_KEY }}

.github/workflows/ci.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: CI
2+
on:
3+
pull_request:
4+
branches:
5+
- master
6+
push:
7+
branches:
8+
- master
9+
tags: '*'
10+
jobs:
11+
test:
12+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
version:
18+
- '1.5'
19+
- '1'
20+
- 'nightly'
21+
os:
22+
- ubuntu-latest
23+
arch:
24+
- x64
25+
steps:
26+
- uses: actions/checkout@v2
27+
- uses: julia-actions/setup-julia@v1
28+
with:
29+
version: ${{ matrix.version }}
30+
arch: ${{ matrix.arch }}
31+
- uses: actions/cache@v1
32+
env:
33+
cache-name: cache-artifacts
34+
with:
35+
path: ~/.julia/artifacts
36+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
37+
restore-keys: |
38+
${{ runner.os }}-test-${{ env.cache-name }}-
39+
${{ runner.os }}-test-
40+
${{ runner.os }}-
41+
- uses: julia-actions/julia-buildpkg@v1
42+
- uses: julia-actions/julia-runtest@v1
43+
- uses: julia-actions/julia-processcoverage@v1
44+
- uses: codecov/codecov-action@v1
45+
with:
46+
file: lcov.info
47+
docs:
48+
name: Documentation
49+
runs-on: ubuntu-latest
50+
steps:
51+
- uses: actions/checkout@v2
52+
- uses: julia-actions/setup-julia@v1
53+
with:
54+
version: '1'
55+
- run: |
56+
julia --project=docs -e '
57+
using Pkg
58+
Pkg.develop(PackageSpec(path=pwd()))
59+
Pkg.instantiate()'
60+
- run: |
61+
julia --project=docs -e '
62+
using Documenter: DocMeta, doctest
63+
using SMARTBackendServices
64+
DocMeta.setdocmeta!(SMARTBackendServices, :DocTestSetup, :(using SMARTBackendServices); recursive=true)
65+
doctest(SMARTBackendServices)'
66+
- run: julia --project=docs docs/make.jl
67+
env:
68+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
69+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
*.jl.*.cov
2+
*.jl.cov
3+
*.jl.mem
4+
*.pem
5+
/docs/build/
6+
Manifest.toml

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2021 Dilum Aluthge and contributors
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Project.toml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name = "SMARTBackendServices"
2+
uuid = "78af60b6-7677-4c75-8291-bd270d1b4390"
3+
authors = ["Dilum Aluthge", "contributors"]
4+
version = "0.1.0-DEV"
5+
6+
[deps]
7+
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
8+
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
9+
JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
10+
JSONWebTokens = "9b8beb19-0777-58c6-920b-28f749fee4d3"
11+
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
12+
TimeZones = "f269a46b-ccf7-5d73-abea-4c690281aa53"
13+
URIs = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
14+
15+
[compat]
16+
HTTP = "0.9.3"
17+
JSON3 = "1.5.1"
18+
JSONWebTokens = "0.3.4"
19+
TimeZones = "1.5.3"
20+
URIs = "1.2"
21+
julia = "1.5"
22+
23+
[extras]
24+
JSONWebTokens = "9b8beb19-0777-58c6-920b-28f749fee4d3"
25+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
26+
27+
[targets]
28+
test = ["JSONWebTokens", "Test"]

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# SMARTBackendServices
2+
3+
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://JuliaHealth.github.io/SMARTBackendServices.jl/stable)
4+
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://JuliaHealth.github.io/SMARTBackendServices.jl/dev)
5+
[![Build Status](https://github.com/JuliaHealth/SMARTBackendServices.jl/workflows/CI/badge.svg)](https://github.com/JuliaHealth/SMARTBackendServices.jl/actions)
6+
[![Coverage](https://codecov.io/gh/JuliaHealth/SMARTBackendServices.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaHealth/SMARTBackendServices.jl)
7+
8+
This package implements the
9+
[SMART Backend Services](https://hl7.org/fhir/uv/bulkdata/authorization/)
10+
profile for server-to-server FHIR connections.
11+
12+
Please see the
13+
[documentation](https://juliahealth.org/SMARTBackendServices.jl/stable/).
14+
15+
The following tables show the mapping between Julia packages and
16+
standards/specifications:
17+
18+
| Julia Package | Standard/Specification | Description |
19+
| ------------- | ---------------------- | ----------- |
20+
| [FHIRClient.jl](https://github.com/JuliaHealth/FHIRClient.jl) | [FHIR](https://hl7.org/fhir/) | Fast Healthcare Interoperability Resources. Web standard for health interop. |
21+
| [SMARTAppLaunch.jl](https://github.com/JuliaHealth/SMARTAppLaunch.jl) | [SMART App Launch](https://hl7.org/fhir/smart-app-launch/) | User-facing apps that connect to EHRs and health portals. |
22+
| [SMARTBackendServices.jl](https://github.com/JuliaHealth/SMARTBackendServices.jl) | [SMART Backend Services](https://hl7.org/fhir/uv/bulkdata/authorization/) | Server-to-server FHIR connections. |
23+
24+
---
25+
26+
We currently do not implement the following; however, we plan to implement them
27+
in the future:
28+
29+
| Standard/Specification | Description |
30+
| ---------------------- | ----------- |
31+
| [FHIR Bulk Data Access (Flat FHIR)](https://hl7.org/fhir/uv/bulkdata/) | FHIR export API for large-scale data access. |
32+
33+
These descriptions are taken from the
34+
[SMART on FHIR technical documentation](https://docs.smarthealthit.org/).

docs/Project.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[deps]
2+
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
3+
SMARTBackendServices = "78af60b6-7677-4c75-8291-bd270d1b4390"

docs/make.jl

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using SMARTBackendServices
2+
using Documenter
3+
4+
makedocs(;
5+
modules=[SMARTBackendServices],
6+
authors="Dilum Aluthge and contributors",
7+
repo="https://github.com/JuliaHealth/SMARTBackendServices.jl/blob/{commit}{path}#{line}",
8+
sitename="SMARTBackendServices.jl",
9+
format=Documenter.HTML(;
10+
prettyurls=get(ENV, "CI", "false") == "true",
11+
canonical="https://JuliaHealth.github.io/SMARTBackendServices.jl",
12+
assets=String[],
13+
),
14+
pages=[
15+
"Home" => "index.md",
16+
"API" => "api.md",
17+
],
18+
strict=true,
19+
)
20+
21+
deploydocs(;
22+
repo="github.com/JuliaHealth/SMARTBackendServices.jl",
23+
)

docs/src/api.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
```@meta
2+
CurrentModule = SMARTBackendServices
3+
```
4+
5+
# API
6+
7+
```@index
8+
```
9+
10+
```@autodocs
11+
Modules = [SMARTBackendServices]
12+
```

0 commit comments

Comments
 (0)