Type
|
Reference
|
Content
|
web
|
github.com
|
Guidance for FHIR IG Creation, published by HL7 International - FHIR Management Group. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/FHIR/ig-guidance/
and changes regularly. See the Directory of published versions
|
web
|
mermaid.js.org
|
For more detailed syntax and examples, the Mermaid syntax reference guide
and the interactive tool Mermaid live editor
are excellent resources. There are also plugins for popular editors like VS Code.
|
web
|
mermaid.live
|
For more detailed syntax and examples, the Mermaid syntax reference guide
and the interactive tool Mermaid live editor
are excellent resources. There are also plugins for popular editors like VS Code.
|
web
|
plantuml.com
|
Several type of PlantUML diagrams
|
web
|
plantuml.com
|
Text formatting features
|
web
|
open-vsx.org
|
Install a VSCode extension
|
web
|
www.plantuml.com
|
Try out the main PlantUML online server
or another online server
or yet another
.
|
web
|
www.planttext.com
|
Try out the main PlantUML online server
or another online server
or yet another
.
|
web
|
plantuml-editor.kkeisuke.com
|
Try out the main PlantUML online server
or another online server
or yet another
.
|
web
|
plantuml.com
|
PlantUML usage
Author
PlantUML
standalone
or in IDE
Local
Repo
Remote
Repo
Read about PlantUML
Check PlantUML syntax
plantuml.com
Create diagram and page
Create & preview
Add diagram
Add page
commit
Local build
build &
preview
push
Remote build
build
|
web
|
www.plantuml.com
|
The list of the abailable built-in skins is available from PlantUML itself, by using the
help themes directive
:
|
web
|
plantuml.com
|
Adding SkinParams
to configure specific aspects.
- These SkinParams can be in reusable include files
|
web
|
www.plantuml.com
|
|
web
|
www.plantuml.com
|
|
web
|
github.com
|
This implementation guide specifically documents the HL7 IG Publisher tool, the most recent version of which can be found here
. It applies to all
IGs that make use of HL7's IG base template. This currently includes the following:
|
web
|
github.com
|
https://github.com/HL7/ig-template-base
|
web
|
github.com
|
https://github.com/HL7/ig-template-hl7
|
web
|
github.com
|
https://github.com/HL7/ig-template-fhir
|
web
|
github.com
|
https://github.com/HL7/ig-template-davinci
|
web
|
github.com
|
https://github.com/HL7/ig-template-cda
|
web
|
github.com
|
https://github.com/HL7/ig-template-other
|
web
|
ucum.org
|
The UCUM codes, UCUM table (regardless of format), and UCUM Specification are copyright 1999-2009, Regenstrief Institute, Inc. and the Unified Codes for Units of Measures (UCUM) Organization. All rights reserved. https://ucum.org/trac/wiki/TermsOfUse
Show Usage
|
web
|
github.com
|
The java code uses standard java internationalization techniques internally, but for
translator convenience, the master copy of the translations are stored in .po files
in GitHub with the FHIR Core code
.
Contributions are welcome, and this file
lists who to contact for existing translations.
|
web
|
github.com
|
The java code uses standard java internationalization techniques internally, but for
translator convenience, the master copy of the translations are stored in .po files
in GitHub with the FHIR Core code
.
Contributions are welcome, and this file
lists who to contact for existing translations.
|
web
|
github.com
|
Create a non-FSH IG from scratch. Note: Shorthand/FSH is not used for language packs - once the initial IG resource is written, there's no more resources authored.
The easiest way to do this is to clone an existing Language pack
, remove all the content in /input/translations, and
rename the ig resource, and update the values in it.
|
web
|
github.com
|
The java code uses standard java internationalization techniques internally (.properties files),
but for translator convenience, the master copy of the translations are stored in .po files
in GitHub with the FHIR Core code
.
Translation contributions are welcome, and this file
lists who to contact for existing translations.
|
web
|
github.com
|
The java code uses standard java internationalization techniques internally (.properties files),
but for translator convenience, the master copy of the translations are stored in .po files
in GitHub with the FHIR Core code
.
Translation contributions are welcome, and this file
lists who to contact for existing translations.
|
web
|
github.com
|
Implementers provide translations by editing the .po files
and then making them as GitHub pull requests.
|
web
|
github.com
|
Terminology server authors should consult this language documentation
for the expectations of terminology servers in the IG publisher eco-system.
|
web
|
semver.org
|
$semver$
: the primitive value must be a valid semver
|
web
|
github.com
|
To create the package.json, you might find it easiest to copy the one from the HL7 official template
. See here
more about the contents of package.json.
|
web
|
github.com
|
For an example of how a template is customized, the HL7 official template (used exclusively for Implementation Guides published by HL7 International) extends the FHIR base template and can be checked here: https://github.com/HL7/ig-template-fhir
|
web
|
github.com
|
Leverage the GitHub search functionality to search
the terminology.hl7.org source of truth
.
|
web
|
github.com
|
Download the source content for terminology.hl7.org
and search it locally. (The source of
truth files are located in the input/sourceOfTruth
folder.)
|
web
|
browser.ihtsdotools.org
|
SNOMED CT:
browser.ihtsdotools.org
can be used. For an international IG you will want to select the International Edition. For national IGs, select the appropriate national edition.
|
web
|
ontoserver.csiro.au
|
National Clinical Terminology Service (NCTS)
|
web
|
tgateway.infoway-inforoute.ca
|
Infoway Terminology Gateway
(requires registration)
|
web
|
confluence.ihtsdotools.org
|
SNOMED CT:
New term requests go through SNOMED's Content Request
Submission process
where authorized users submit requests for new terms. For HL7 members: New term requests for the US realm or HL7 Affiliates
with a SNOMED National Release Center (NRC) should be made directly to that affiliate's NRC. New term requests for the Universal realm or an HL7 affiliate
without a SNOMED NRC should be submitted to the HL7 Terminology Authority (HTA) using the Context Request Form found
here
.
|
web
|
fhir.infoway-inforoute.ca
|
If dealing with national terminologies not covered under HL7 international's process, responsibility is left to HL7 affiliates or other national organizations. For example,
Canada Health Infoway maintains a list of Canadian national code systems
. The governance process for maintaining such
lists will vary from country to country based on what works best in that space. Such processes should take into account the guidance for defining
and changing
URIs
|
web
|
json5.org
|
The liquid template must produce resources in the specified format. If the template produces JSON, the commas do
not need to be correct - the json is reprocessed once the liquid script is complete to fix up the commas (it
must produce valid json5
output).
|
web
|
docs.oracle.com
|
using the function dateColumn(name) to wrangle with date formats e.g. "expression" : "column('Date of Birth', 'M/d/yyyy')"
where Date of Birth
is the name of the column in the source data, and M/d/yyyy
is the format of the column. For format advice, see https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
.
|
web
|
github.com
|
Several of the files below should be consistent across most/all implementation guides that use this publication framework. However, they cannot
easily be shared across IGs. (Or at least we haven't figured out a good way to do that yet.) These files are all marked by **. Implementers are
encouraged to download the version of these files found in the sample-ig
implementation guide or at
least to merge changes occasionally pushed to that IG with their own versions.
|
web
|
github.com
|
In addition, it may contain an optional third parameter: usage-stats-opt-out. If set to 'true', publishing this IG will not share
usage stats about resources, extensions, operations, etc. with HL7. This information is used by HL7 to understand what portions of the FHIR
specification are being used. No personal information is shared. Note that opt-out does not apply to any spec built using the FHIR ci-build infrastructure
,
or to any specifications for HL7 or IHE (as judged the presence of 'hl7.', 'ihe.' or 'argonaut.' in the package name.
|
web
|
github.com
|
However, there is one file that all igs will need - menu.xml
. This is an XHTML file that defines the content of the main menu.
It is an XHTML unordered list. To see what one might look like, look at the sample-ig
.
Guidance on how best to structure IG menus can be found here
.
|
web
|
oss.sonatype.org
|
This is the copy of the IG Publisher that is retrieved by the _updatePublisher[.bat|.sh]
process (unless the
publisher is shared in the IG's parent folder by multiple other IGs. This file should generally not
be included in source control
because a) it will cause commits and updates to be super slow; and b) it wastes lots of space in source control. If there's a need to
retrieve previous copies of the IGPublisher (e.g. because the current version happens to be broken), historical versions can be found
here
. (After you download the desired version, move it
into either [igroot]/input-cache or the parent folder and rename it to org.hl7.fhir.publisher.jar.) There should be no reason to delete this
file - instead run _updatePublisher to grab the current version. Though you can delete the file if you're running short of harddrive space
and won't need to re-run the publish process any time soon.
|
web
|
kramdown.gettalong.org
|
Markdown is a text base syntax that uses specific text conventions to indicate how content should be rendered as XHTML. For example, a line starting
with the "*" character, surrounded with appropriate whitespace, will be rendered as an XHTML un-ordered list item. The IG Publisher (or specifically,
Jekyll) makes use of a markdown flavor called Kramdown. Guidance on writing Kramdown can be found
here
. Markdown is often very intuitive for authoring simple content. However, it is not validatable
and small formatting errors can have a significant impact on how content is rendered. As well, sophisticated rendering (e.g. controlling table
appearance) can be as complex as XHTML or may require injection of XHTML into the markdown. XHTML within markdown cannot be validated.
|
web
|
jekyllrb.com
|
Regardless of whether narrative content is authored using XHTML or markdown, it can also contain embedded
Liquid
commands. Most IG authors won't need to worry much about liquid as it is managed as part of
the template process. Guidance on using liquid for more sophisticated capabilities is covered in the section of this IG that deals with
authoring templates.
However, even simple IGs may find a need for liquid in two circumstances:
|