Skip to content

Commit

Permalink
merge from main
Browse files Browse the repository at this point in the history
  • Loading branch information
litlfred committed Apr 23, 2024
2 parents ec66c61 + 386f220 commit 683b3d9
Show file tree
Hide file tree
Showing 99 changed files with 3,318 additions and 326 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/fhirbuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# This workflow reuses the openHIE GitHub action for building IGs
# Change log:
# v0.1.0
# 2021-06-18: publish default branches to / , other branches branches/<branch>
# 2021-11-26: reusable workflow

name: CI

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events for any main branch
push:
branches-ignore:
- 'gh-pages'
pull_request:

workflow_dispatch:

jobs:
# This workflow contains a single job called "build"
call_build:
uses: WorldHealthOrganization/smart-base/.github/workflows/fhirbuild.yml@main
23 changes: 23 additions & 0 deletions .github/workflows/ghbuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# This workflow reuses the World Health Organization GitHub action for building IGs
# Initial idea by Carl Leitner
# Change log:
# v0.1.0
# 2021-06-18: publish default branches to / , other branches branches/<branch>
# 2021-11-26: reusable workflow

name: ghbuild

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events for any main branch
push:
branches-ignore:
- 'gh-pages'
pull_request:

workflow_dispatch:

jobs:
# This workflow contains a single job called "build"
call_build:
uses: WorldHealthOrganization/smart-base/.github/workflows/ghbuild.yml@main
73 changes: 0 additions & 73 deletions .github/workflows/main.yml

This file was deleted.

33 changes: 33 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Release build

on:
release:
types: [created]
workflow_dispatch:

jobs:
check:
runs-on: ubuntu-latest
outputs:
file_exists: ${{ steps.checkfile.outputs.exists }}
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.event.release.tag_name }}

- name: Check for publication-request.json
id: checkfile
run: |
if [[ -f "publication-request.json" ]]; then
echo "::set-output name=exists::true"
else
echo "::set-output name=exists::false"
fi
trigger:
needs: check
if: needs.check.outputs.file_exists == 'true'
uses: WorldHealthOrganization/smart-html/.github/workflows/release.yml@l2-dak-setup-updates
# with:
# tag_name: ${{ github.event.release.tag_name }}
20 changes: 20 additions & 0 deletions .github/workflows/repo_actions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# This workflow uses a remote action to do some repository actions like updating the readme files

name: Call remote repo actions

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events for any main branch
push:
branches-ignore:
- 'gh-pages'
pull_request:

workflow_dispatch:

jobs:
call-update-readme:
uses: WorldHealthOrganization/smart-base/.github/workflows/update_readme.yml@main
with:
repositoryOwner: ${{ github.repository_owner }}
repositoryName: ${{ github.event.repository.name }}
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ Thumbs.db
################
*.bak

# word #
########
~$*


# emacs #
#########
Expand Down
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"cSpell.words": [
"GDHCN"
]
}
15 changes: 12 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
WHO SMART Trust
<!--badges-->
[![License: CC BY-IGO 3.0](https://licensebuttons.net/l/by-nc/3.0/igo/80x15.png)](https://creativecommons.org/licenses/by/3.0/igo)
![CI Build](https://img.shields.io/github/actions/workflow/status/WorldHealthOrganization/smart-trust/ghbuild.yml)

![QA errors](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2FWorldHealthOrganization.github.io%2Fsmart-trust%2Fqa.json&query=%24.errs&logoColor=red&label=QA%20errors&color=yellow)
![QA warnings](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2FWorldHealthOrganization.github.io%2Fsmart-trust%2Fqa.json&query=%24.warnings&logoColor=orange&label=QA%20warnings&color=yellow)
![QA hints](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2FWorldHealthOrganization.github.io%2Fsmart-trust%2Fqa.json&query=%24.hints&logoColor=yellow&label=QA%20hints&color=yellow)
<!--/badges-->
WHO SMART Trust
---
This is the WHO SMART Trust Implementation Guide
<br> </br>
Expand All @@ -7,8 +15,8 @@ This is the WHO SMART Trust Implementation Guide
This ImplementationGuide is published in the following locations:


Continuous Build: __https://github.com/WorldHealthOrganization/smart-trust__
Canonical / permanent URL: __https://WorldHealthOrganization.github.io/smart-trust__
Continuous Build: __https://worldhealthorganization.github.io/smart-trust__
Canonical / permanent URL: __https://smart.who.int/trust__

<br> </br>

Expand All @@ -18,3 +26,4 @@ Issues and change requests are managed here:
Issues: __https://github.com/WorldHealthOrganization/smart-trust/issues__
or the Kanban board: __https://github.com/WorldHealthOrganization/smart-trust/projects/1__


Empty file modified _gencontinuous.sh
100644 → 100755
Empty file.
3 changes: 3 additions & 0 deletions _updatePublisher.sh
Original file line number Diff line number Diff line change
Expand Up @@ -117,13 +117,16 @@ if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then

curl -L $gencont_sh_url -o /tmp/_gencontinuous.new
cp /tmp/_gencontinuous.new _gencontinuous.sh
chmod +x _gencontinuous.sh
rm /tmp/_gencontinuous.new

curl -L $gen_sh_url -o /tmp/_genonce.new
cp /tmp/_genonce.new _genonce.sh
chmod +x _genonce.sh
rm /tmp/_genonce.new

curl -L $update_sh_url -o /tmp/_updatePublisher.new
cp /tmp/_updatePublisher.new _updatePublisher.sh
chmod +x _updatePublisher.sh
rm /tmp/_updatePublisher.new
fi
6 changes: 3 additions & 3 deletions ig.ini
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[IG]
ig = fsh-generated/resources/ImplementationGuide-fhir.who.smart-trust.json
template = #local-template
#template = who.fhir.template#current
ig = fsh-generated/resources/ImplementationGuide-smart.who.int.trust.json
#template = #local-template
template = who.template.root#current
usage-stats-opt-out = false
fhir-version = 4.0.1

12 changes: 12 additions & 0 deletions input/fsh/cose_header.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@


Logical: COSEHeader
Title: "COSE Headers (DRAFT)"
Description: "Data elements for COSE Headers https://www.iana.org/assignments/cose/cose.xhtml#header-parameters"

* ^url = "http://smart.who.int/trust/StructureDefinition/COSEHeader"
* ^status = #active

* 1 0..1 string "Encryption Algorithm" "alg(1)"
* 4 0..1 string "Key ID used to verify the signature of the certificate" "keyid (4)"

12 changes: 12 additions & 0 deletions input/fsh/cwt.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@


Logical: CWT
Title: "CBOR Web Token (CWT) Claim"
Description: "Logical Model for Data elements in CBOR Web Token (CWT) https://www.iana.org/assignments/cwt/cwt.xhtml"

* ^url = "http://smart.who.int/trust/StructureDefinition/CWT"
* ^abstract = true
* ^status = #active
* header 0..1 COSEHeader "COSE Header" "Header"
* payload 0..1 CWTPayload "CWT Payload" "Payload"
* signature 0..1 string "Signature" "Signature"
14 changes: 14 additions & 0 deletions input/fsh/cwt_payload.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

Logical: CWTPayload
Title: "CBOR Web Token (CWT) Payload (Common)"
Description: "Logical Model for CBOR Web Token (CWT) Payload Logical Modelin CWT Payload https://www.iana.org/assignments/cwt/cwt.xhtml "


* ^url = "http://smart.who.int/trust/StructureDefinition/CWTPayload"
* ^status = #active

* 1 0..1 Coding "Issuer Code (iss)" "Issuer"
* 4 0..1 dateTime "Expiration Date Time(exp)" "Expiration Time"
* 6 0..1 dateTime "Issued At (iat)" "Issued At"
* -260 0..1 HCert "Health Certificate" "HCert"

30 changes: 30 additions & 0 deletions input/fsh/hcert.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Alias: $IPS = http://hl7.org/fhir/uv/ips/StructureDefinition/Bundle-uv-ips
Alias: $HCertDCC = http://smart.who.int/ddcc/StructureDefinition/HCertDCC
Alias: $DDCCVS = http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSet.VS
Alias: $DDCCTR = http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSet.TR
Alias: $SmartHealthLink = http://smart.who.int/ips-pilgrimage/StructureDefinition/SmartHealthLink

Logical: HCert
Title: "Health Certificate"
Description: "Logical Model for the HCERT

The full data structure and encoding mechanisms for HCERT are defined here: [Electronic Health Certificate Specification](/smart-trust/hcert_spec.html)

An HCERT is claim -260 within the [CBOR Web Token (CWT) Claim](https://www.rfc-editor.org/rfc/rfc8392.html).

Note for subclaims:
- subclaims 0 and above are reserved by WHO to be assigned, a new sub claim can be requested for by requesting to create a new trust domain
- subclaims for negative integer values are for development purposes and are free to use
- While this logical model mentions assigned subclaims (below), the ones listed in the Electronic Health Certificate Specification are considered authoritative
"


* ^url = "http://smart.who.int/trust/StructureDefinition/HCert"
* ^status = #active
* 1 0..1 $HCertDCC "HCERT EU DCC" "HCERT EU DCC"
//* 2 0..* $RACSEL_DDVC "RACSEL Vaccination Certficate Data Set claim" "RACSEL Vaccination Certificate (PROPOSED)"
* 3 0..* $DDCCVS "Vaccination Core Data Set claim" "DDCC Vaccination claim (PROPOSED)"
* 4 0..* $DDCCTR "Test Result Core Data Set claim" "DDCC Test Result claim (PROPOSED)"
* 5 0..* $SmartHealthLink "SMART Health Link claim" "SMART Health Link (PROPOSED)"
//* 6 0..* $IPS "IPS" "IPS Bundle (EXAMPLE)"

26 changes: 26 additions & 0 deletions input/fsh/scheme_information.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Logical: SchemeInformation
Title: "Scheme Information"
Description: "Logical Model for Information on the trusted list and its issuing scheme"

* ^url = "http://smart.who.int/trust/StructureDefinition/SchemeInformation"
* ^abstract = true
* ^status = #draft
* versionIdentifier 1..1 integer "TSL version identifier (clause 5.3.1)" "TSL version identifier (clause 5.3.1)"
* sequenceNumber 1..1 integer "TSL sequence number (clause 5.3.2)" "TSL sequence number (clause 5.3.2)"
* type 1..1 uri "TSL type (clause 5.3.3)" "TSL type (clause 5.3.3)"
* operatorName 1..1 string "Scheme operator name (clause 5.3.4)" "Scheme operator name (clause 5.3.4)"
* operatorAddress 1..* BackboneElement "Scheme operator address (clause 5.3.5)" "Scheme operator address (clause 5.3.5)"
* operatorPostalAddress 1..* Address "Scheme Operator Postal Address" "Scheme Operator Postal Address"
* operatorElectronicAddress 0..* ContactPoint "Scheme Operator Electronic Address" "Scheme Operator Electronic Address"
* name 1..1 string "Scheme name (clause 5.3.6)" "Scheme name (clause 5.3.6) CC:EN_name_value"
* informationURI 1..1 uri "Scheme information URI (clause 5.3.7)" "Scheme information URI (clause 5.3.7)"
* statusDeterminiationApproach 1..1 uri "Status determination approach (clause 5.3.8)" "Status determination approach (clause 5.3.8)"
* schemeType 1..1 uri "Scheme type/community/rules (clause 5.3.9)" "Scheme type/community/rules (clause 5.3.9)"
* territory 1..1 string "Scheme territory (clause 5.3.10)" "Scheme territory (clause 5.3.10)"
* policy 1..1 uri "TSL policy/legal notice (clause 5.3.11)" "TSL policy/legal notice (clause 5.3.11)"
* historicalInformationPeriod 1..1 integer "Historical information period (clause 5.3.12)" "Historical information period (clause 5.3.12)"
* otherTSL 0..* string "Pointers to other TSLs (clause 5.3.13)" "Pointers to other TSLs (clause 5.3.13)"
* issDateTime 1..1 dateTime "List issue date and time (clause 5.3.14)" "List issue date and time (clause 5.3.14)"
* nextUpdate 1..1 dateTime "Next update (clause 5.3.15)" "Next update (clause 5.3.15)"
* distributionPoints 0..* uri "Distribution points (clause 5.3.16)" "Distribution points (clause 5.3.16)"
* extensions 0..* string "Scheme extensions (clause 5.3.17)" "Scheme extensions (clause 5.3.17)"
Binary file added input/images/ArchitectureOverview.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/ArchitectureVision.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/AzureArchitecture.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/BilateralUsage.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/BlackBoxView.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/BuildingBlocks.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/CMSUsage.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/CombineSourcesExchange.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/CurrentView.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/DownloadProcess.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/ExplicitTrustRelation.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added input/images/ImplicitTrustRelationShip.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/InitSimplify.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/Kubernetes.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/Letter_of_Application_DDCC.docx
Binary file not shown.
Binary file not shown.
Binary file added input/images/MultipleTrustAnchor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/OnboardingOverview.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/OnboardingProcessStepsSimple.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/OnboardingProcess_Full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/OpenSSL.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/Overview.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/OverviewDGC.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/P2PExchange.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/PKITrustModel.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/Participant_Onboarding_Status.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added input/images/PrimarySecondaryExchange.drawio.png
1 change: 1 addition & 0 deletions input/images/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Binary file added input/images/Regi-TRUST.drawio.png
Binary file added input/images/SingleTrustAnchor.png
Binary file added input/images/TechnicalChanges.drawio.png
Binary file added input/images/TrustListResult.PNG
Binary file added input/images/TrustModel.PNG
Binary file added input/images/ValidityTimes.PNG
Binary file added input/images/WhiteBoxView.drawio.png
Binary file added input/images/WinSSL.PNG
Binary file added input/images/trust_network.png
4 changes: 4 additions & 0 deletions input/includes/img.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<p><strong>{{include.caption | default: ""}}</strong></p>
<img src="{{include.img}}" class="figure-img img-responsive img-rounded center-block"
alt="{{include.caption}}" style="width:{{include.width}}"/>
<div style="clear:both;"></div>
Loading

0 comments on commit 683b3d9

Please sign in to comment.