diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e6270f0..2f8cc95 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,10 +29,16 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Setup IG publisher - run: docker-compose run runner bash -c "cd /workdir && chmod +x ./_updatePublisher.sh && ./_updatePublisher.sh --yes" - - name: Generate - run: docker-compose run runner bash -c "cd /workdir && chmod +x ./_genonce.sh && ./_genonce.sh" + - name: Update the image to the latest publisher + uses: docker://hl7fhir/ig-publisher-base:latest + with: + # Get the latest publisher - don't run the batch script but run the line directly + args: curl -L https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar -o ./input-cache/publisher.jar --create-dirs + - name: Run the IG publisher + uses: docker://hl7fhir/ig-publisher-base:latest + with: + # Run the publisher - don't run the batch script but run the line directly + args: java -jar ./input-cache/publisher.jar publisher -ig . - name: Setup Pages uses: actions/configure-pages@v2 - name: Upload artifact diff --git a/README.md b/README.md index 6c6c0ab..b72a963 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,35 @@ and [some more details](https://fhir.fi). ## Published Snapshot -The working version of the IG is published at https://fhir.fi/finnish-smart/. +### On build.fhir.org +The results of each commit to this repository are published automatically at the build.fhir.org +infrastructure. You can select a built snapshot from the +[list of branches](https://build.fhir.org/ig/fhir-fi/finnish-smart/branches/). For +instance, the latest commit to the `master` branch is published at +[https://build.fhir.org/ig/fhir-fi/finnish-smart/branches/master](https://build.fhir.org/ig/fhir-fi/finnish-smart/branches/master). + +You can also browse the [list of all IG builds](https://fhir.github.io/auto-ig-builder/builds.html). + +Similarly the debug info related to the build can be found with the branch name. The build log of +the latest commit to the `master` branch is at +[https://build.fhir.org/ig/fhir-fi/finnish-smart/branches/master/build.log](https://build.fhir.org/ig/fhir-fi/finnish-smart/branches/master/build.log). + +You can also track the build info at the +[committers/notification](https://chat.fhir.org/#narrow/stream/179297-committers.2Fnotification/topic/ig-build/) +channel on the [chat.fhir.org](https://chat.fhir.org) Zulip forum. + +### On fhir.fi + +The results of the latest commit to the `master` branch are also published in +[fhir.fi/finnish-base-profiles/](https://fhir.fi/finnish-smart/). + +### On hl7.fi + +The official publishing location of the implementation guide is at +[hl7.fi/fhir/finnish-base-profiles/](https://hl7.fi/fhir/finnish-smart/). + +Occasionally snapshots are also published there. The published versions are listed on the +[Version History](https://hl7.fi/fhir/finnish-smart/history.html) page. ## Companion Specifications diff --git a/_updatePublisher.sh b/_updatePublisher.sh index f127f66..0f9ecbe 100644 --- a/_updatePublisher.sh +++ b/_updatePublisher.sh @@ -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 diff --git a/input/fsh/fi-smart-server-profile.fsh b/input/fsh/fi-smart-server-profile.fsh index 9c48bc3..cb7ff2b 100644 --- a/input/fsh/fi-smart-server-profile.fsh +++ b/input/fsh/fi-smart-server-profile.fsh @@ -5,3 +5,14 @@ Title: "Finnish SMART Server Capability Statement Profile" Description: "This CapabilityStatement profile describes the basic rules for a server actor providing SMART App Launch in Finland." * implementationGuide = "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch" * rest.mode = #server + +* format ^slicing.discriminator.type = #value +* format ^slicing.discriminator.path = #$this +* format ^slicing.rules = #open +* format ^slicing.description = "Slice by value of format." + * ^definition = "Support for JSON is required, support for XML is recommended." + * ^short = "JSON is mandatory" + +* format contains json 1..* + +* format[json].value = #json diff --git a/input/fsh/fi-smart-server.fsh b/input/fsh/fi-smart-server.fsh index bd1bed2..9464bc2 100644 --- a/input/fsh/fi-smart-server.fsh +++ b/input/fsh/fi-smart-server.fsh @@ -4,7 +4,7 @@ Title: "Finnish SMART Server Capability Statement" Usage: #definition * id = "fi-smart-server" * status = #active -* date = "2023-02-03" +* date = "2023-11-09" * description = "This CapabilityStatement describes the basic rules for a server actor providing SMART App Launch in Finland." * kind = #requirements * name = "FiSmartServer" @@ -26,4 +26,4 @@ Usage: #definition * implementationGuide[=].extension.valueCode = #SHOULD * rest.mode = #server * rest.documentation = "The server **SHALL**:\n1. Implement the RESTful behavior according to the FHIR specification.\n1. Support JSON source formats for all interactions.\n1. Declare a CapabilityStatement identifying the list of profiles, operations, and search parameters supported.\n\nThe server **SHOULD**:\n1. Support XML source formats for all interactions.\n1. Implement the International Patient Access (IPA) specification." -* rest.security.description = "This implementation guide relies heavily on the widely adopted SMART App Launch mechanism. This implementation guide does not define any new security mechanisms. 1. Please familiarize yourself with the securty concepts infroduced in the SMART App Launch specification, and the underlying OpenID Connect and OAuth2 specifications the SMART App Launch specification build on.\n1. See the Best Practices outlined in the SMART App Launch specification.\n1. See the [General Security Considerations](security.html) section for requirements and recommendations.\n1. A server **SHALL** reject any unauthorized requests by returning an HTTP `401 Unauthorized`, `403 Forbidden`, or `404 Not Found` response code." +* rest.security.description = "This implementation guide relies heavily on the widely adopted SMART App Launch mechanism. This implementation guide does not define any new security mechanisms. Please familiarize yourself with the securty concepts infroduced in the SMART App Launch specification, and the underlying OpenID Connect and OAuth2 specifications the SMART App Launch specification build on.\n1. See the Best Practices outlined in the SMART App Launch specification.\n1. See the [FHIR Security](https://www.hl7.org/fhir/security.html) section of the FHIR specification for requirements and recommendations.\n1. A server **SHALL** reject any unauthorized requests by returning an HTTP `401 Unauthorized`, `403 Forbidden`, or `404 Not Found` response code." diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 0fb0763..12f3360 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -9,7 +9,11 @@ value should not start or finish with whitespace ' not(f:kind/@value='instance') The repeating element has a pattern. The pattern will apply to all the repeats (this has not been clear to all users) The repeating element has a pattern value for a primitive type. The DotNet validator will not apply this to all the repeats - this is an error +# The SMART App Launch specification does not publish a html page for the implementation guide resource. Not something we can fix here. +The link 'http://hl7.org/fhir/smart-app-launch/STU2.1/ImplementationGuide-hl7.fhir.uv.smart-app-launch.html' for "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch" cannot be resolved +The link 'http://hl7.org/fhir/smart-app-launch/STU2.1/ImplementationGuide-hl7.fhir.uv.smart-app-launch.html' for "" cannot be resolved + # These warnings are for the capability statement captured from the Apotti / Epic system. Epic does handle these internally. The markdown contains content that appears to be an embedded HTML tag starting at 'A '. This will (or SHOULD) be escaped by the presentation layer. The content should be checked to confirm that this is the desired behaviour The markdown contains content that appears to be an embedded HTML tag starting at 'Fu'. This will (or SHOULD) be escaped by the presentation layer. The content should be checked to confirm that this is the desired behaviour -The markdown contains content that appears to be an embedded HTML tag starting at 'Se'. This will (or SHOULD) be escaped by the presentation layer. The content should be checked to confirm that this is the desired behaviour \ No newline at end of file +The markdown contains content that appears to be an embedded HTML tag starting at 'Se'. This will (or SHOULD) be escaped by the presentation layer. The content should be checked to confirm that this is the desired behaviour diff --git a/input/pagecontent/conformance.md b/input/pagecontent/conformance.md index 1962ec9..7f54c41 100644 --- a/input/pagecontent/conformance.md +++ b/input/pagecontent/conformance.md @@ -6,6 +6,10 @@ definition includes formal requirements for SMART servers in Finland. In essence, it mandates support for REST API's and for JSON format, and recommends support for the IPA specification and for XML format. +The +[Finnish SMART Server Capability Statement Profile](StructureDefinition-fi-smart-server-profile.html) +is intended to help in validation of server capability statements. + ### Global Profiles {% include globals-table.xhtml %} \ No newline at end of file diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 43cf9d6..9102e75 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -1,6 +1,6 @@ ### Welcome to the Finnish SMART App Launch Specification -This implementation guide specifies the Finnish FHIR base profiles. +This is the Finnish implementation guide for the SMART App Launch mechanism. {% include cross-version-analysis-inline.xhtml %} diff --git a/input/pagecontent/versions.md b/input/pagecontent/versions.md index c34bce2..35ac5cc 100644 --- a/input/pagecontent/versions.md +++ b/input/pagecontent/versions.md @@ -3,12 +3,17 @@ Version 1.0.0 is the first official release of this implementation guide. See the history of published versions in the [publication directory](https://hl7.fi/fhir/finnish-smart/history.html). +You can track the changes between released snapshot versions through the +Previous Version Comparison section of the [QA report](qa.html). You can also check changes +between ballot and release versions through the +[releases](https://github.com/fhir-fi/finnish-smart/releases) in GitHub. + The development continues, with the intention to add more real-world examples, to get definitions from this implementation guide into Normative level (see the [standards development process](https://hl7.org/fhir/versions.html#std-process)) of the FHIR specification), and to cover additional features enabled by the SMART specification. -Development snapshots will be published throughout the development and ballot cycles. +Development snapshots will be published throughout the development, ballot, and maintenance cycles. ### CI Build Snapshots The latest version of the `master` branch of the source code repository for this implementation diff --git a/sushi-config.yaml b/sushi-config.yaml index bd2ada5..c62e62b 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -17,7 +17,7 @@ publisher: dependencies: hl7.fhir.uv.ipa: 1.0.0 - hl7.fhir.uv.smart-app-launch: 2.0.0 + hl7.fhir.uv.smart-app-launch: 2.1.0 resources: AuditEvent/apotti-ehr-launch-by-practitioner: @@ -42,8 +42,8 @@ pages: title: Version History parameters: - ipa-comparison: "{last}" # "{current}" | "{last}" - suppressed-ids: apotti-eko01 + ipa-comparison: "{last}" + suppressed-ids: apotti-eko01 # We added this for the IG to compile, the id is not part of the real example menu: Home: index.html