forked from WorldHealthOrganization/smart-immunizations
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sushi-config.yaml
349 lines (312 loc) · 13 KB
/
sushi-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# This IG YML file is inspired by the ImplementationGuide resource
# and also draws from package.json, package-list.json, and ig.ini.
# That said, it is structured for ease-of-use, so it is not strictly
# conformant to any of those existing configuration formats.
# SUSHI will use id as both id and packageId in the IG unless a
# specific packageId is also provided in this file.
id: who.fhir.immunization
canonical: http://smart.who.int/ig/smart-immunizations
url: http://smart.who.int/ig/smart-immunizations/ImplementationGuide/fhir.who.immunization
name: Immunization
title: "WHO Immunization Implementation Guide"
description: WHO Immunization Implementation Guide.
status: draft
license: CC0-1.0
date: 2021-12-01
version: 0.1.0
# Although fhirVersions is 0..* in the ImplementationGuide resource
# it can be a single item OR and array here (but so far SUSHI only
# supports 4.0.1 anyway).
fhirVersion: 4.0.1
# The following two lines correspond to items that used to be in
# ig.ini but were moved to IG.definition.parameter. For
# consistency within this file, the names are represented using
# camelcase, but if authors use the formal parameter names, SUSHI
# will recognize them as well. In either case, they'll be copied
# to the IG JSON using the formal names.
copyrightYear: 2021+
releaseLabel: CI Build
# The publisher can be a single item or a list, each with a name and
# optional url and/or email. The first publisher's name will be used
# as IG.publisher. The contact details and/or additional publishers
# will be translated into IG.contact values.
publisher:
- name: World Health Organization (WHO)
url: https://www.who.int
# Those who need more control or want to add additional details to the contact values can use
# contact directly and follow the format outlined in the ImplementationGuide resource and
# ContactDetail.
# contact:
# - name: World Health Organization (WHO)
# telecom:
# - system: url
# value: https://www.who.int
# The jurisdiction can be a single item or a list. The FHIR Shorthand
# code syntax can be used here.
jurisdiction: http://unstats.un.org/unsd/methods/m49/m49.htm#001
# The dependencies property corresponds to IG.dependsOn. The key is the
# package id and the value is the version (or dev/current). For advanced
# use cases, the value can be an object with keys for `uri` and `version`.
# For R5 ImplementationGuides, the object can also have a key for `reason`.
dependencies:
hl7.fhir.uv.sdc: 3.0.0
hl7.fhir.uv.cpg: current
hl7.fhir.us.cqfmeasures: current
# hl7.fhir.r5.core:
# version: 5.0.0-draft-final
# hl7.fhir.us.mcode:
# id: mcode
# uri: http://hl7.org/fhir/us/mcode/ImplementationGuide/hl7.fhir.us.mcode
# version: 1.0.0
# The global property corresponds to the IG.global property, but it
# uses the type as the YAML key and the profile as its value. Since
# FHIR does not explicitly disallow more than one profile per type,
# neither do we; the value can be a single profile URL or an array
# of profile URLs.
# global:
# Patient: http://example.org/fhir/StructureDefinition/my-patient-profile
# Encounter: http://example.org/fhir/StructureDefinition/my-encounter-profile
# The resources property corresponds to IG.definition.resource.
# SUSHI can auto-generate all of the resource entries based on
# the FSH definitions and/or information in any user-provided
# JSON or XML resource files. If the generated entries are not
# sufficient or complete, however, the author can add entries
# here. If a generated entry matches the reference, it will
# not be added to SUSHI output. The format follows IG.definition.resource
# with the following differences:
# * use IG.definition.resource.reference.reference as the YAML key
# * specify "omit" to omit a FSH-generated resource from the
# resource list.
# * groupingId can be used, but top-level groups syntax may be a
# better option (see below).
# The following are simple examples to demonstrate what this might
# look like:
# resources:
# Patient/my-example-patient:
# name: My Example Patient
# description: An example Patient
# exampleBoolean: true
# Patient/bad-example: omit
# For R5 ImplementationGuides, the example[x] property was replaced
# with isExample. A profile property is also included. These can be
# specified directly in configuration. Profile can be a single item
# or an array.
# An example resources configuration for an R5 ImplementationGuide:
# resources:
# Patient/my-example-patient:
# name: My Example Patient
# description: An example Patient
# isExample: true
# profile: http://example.org/fhir/StructureDefinition/my-patient-profile
# Groups can control certain aspects of the IG generation. The IG
# documentation recommends that authors use the default groups that
# are provided by the templating framework, but if authors want to
# use their own instead, they can use the mechanism below. This will
# create IG.definition.grouping entries and associate the individual
# resource entries with the corresponding groupIds.
groups:
-ka-activitydefinition:
name: "Knowledge Artifacts: Activity Definitions"
description: |+
These define activities that can be performed as part of the guidelines in this implementation guide.
resources:
- ActivityDefinition/IMMZD2DTMeaslesMR
- ActivityDefinition/IMMZD2DTCR
- ActivityDefinition/IMMZD5DTMeaslesMR
## GroupB:
## name: Group B
## description: The Beta Group
## resources:
## - PlanDefinition/IMMZ.DT.08.Measles
# The pages property corresponds to IG.definition.page. SUSHI can
# auto-generate the page list, but if the author includes pages in
# this file, it is assumed that the author will fully manage the
# pages section and SUSHI will not generate any page entries.
# The page file name is used as the key. If title is not provided,
# then the title will be generated from the file name. If a
# generation value is not provided, it will be inferred from the
# file name extension. Any subproperties that are valid filenames
# with supported extensions (e.g., .md/.xml) will be treated as
# sub-pages.
#
# For R5 ImplementationGuides, the IG.definition.page element now
# supports a source[x] element. SUSHI will generate sourceUrl
# based on the name if it is not provided. To provide a source,
# add a key/value pair subproperty with the type slice as the key.
pages:
index.md:
title: Home
changes.md:
title: Changes
dependencies.md:
title: Dependencies
references.md:
title: References
adapting.md:
title: Adapting Guidelines for Country use
# documentation.md:
# title: Documentation
# workflows.md:
# title: Workflows
# terminology.html:
# title: Terminology
# profiles.html:
# title: Profiles
# extensions.html:
# title: Extensions
# glossary.md:
# title: Glossary
business-requirements.md:
title: Business Requirements
concepts.md:
title: Concepts
personas.md:
title: Generic Personas
scenarios.md:
title: User Scenarios
business-processes.md:
title: Business Processes
dictionary.md:
title: Data Dictionary
decision-logic.md:
title: Decision-support logic
indicators.md:
title: Indicator and Performance Metrics
functional-requirements.md:
title: Functional Requirements
non-functional-requirements.md:
title: Non-functional Requirements
data-models-and-exchange.md:
title: Data Models and Exchange
system-actors.md:
title: System Actors
sequence-diagrams.md:
title: Sequence Diagrams
transactions.md:
title: Transactions
# logical-models.md:
# title: Logical Models
indicators-measures.md:
title: Indicators and Measures
# profiles.xml:
# title: Content profiles
codings.xml:
title: Codings
deployment.md:
title: Deployment
security-privacy.md:
title: Security and Privacy Considerations
testing.md:
title: Testing
test-data.md:
title: Test Data
reference-implementations.md:
title: Reference Implementations
downloads.md:
title: Downloads
# The ImplementationGuide resource defines several other properties
# not represented above. These properties can be used as-is and
# should follow the format defined in ImplementationGuide:
# * meta
# * implicitRules
# * language
# * text
# * contained
# * extension
# * modifierExtension
# * experimental
# * useContext
# * copyright
# * packageId
# The R5 ImplementationGuide resource defines additional properties
# not represented above. These properties can be used as-is and
# should follow the format defined in ImplementationGuide:
# * copyrightLabel
# * versionAlgorithm[x], which should be specified with the type slice (e.g. versionAlgorithmString)
# The menu property will be used to generate the input/menu.xml file.
# The menu is represented as a simple structure where the YAML key
# is the menu item name and the value is the URL. The IG publisher
# currently only supports one level deep on sub-menus.
# To provide a custom menu.xml file, do not include this property and
# include a `menu.xml` file in input/includes.
# menu:
# Home: index.html
# Artifacts:
# Profiles: artifacts.html#2
# Extensions: artifacts.html#3
# Value Sets: artifacts.html#4
# Downloads: downloads.html
# History: http://hl7.org/fhir/us/example/history.html
# The parameters property represents IG.definition.parameter. Rather
# than a list of code/value pairs (as in the ImplementationGuide
# resource), the code is the YAML key. If a parameter allows repeating
# values, the value in the YAML should be a sequence/array. For parameters
# defined by core FHIR see: http://build.fhir.org/codesystem-guide-parameter-code.html.
# For parameters defined by the FHIR Tools IG see:
# http://build.fhir.org/ig/FHIR/fhir-tools-ig/branches/master/CodeSystem-ig-parameters.html
parameters:
# excludettl: true
# validation: [allow-any-extensions, no-broken-links]
# show-inherited-invariants: false
# logging: progress
find-other-resources: true
path-pages:
- input/page-content
path-resource:
- input/resources/activitydefinition
- input/resources/capabilitystatement
- input/resources/library
- input/resources/measure
- input/resources/plandefinition
- input/resources/questionnaire
- input/resources/structuremap
- input/vocabulary/codesystem
- input/vocabulary/valueset
- input/resources/device
- input/vocabulary/valueset/cqf_valuesets
- input/vocabulary/valueset/anc_valuesets
- input/vocabulary/valueset/existing_WHO
- input/vocabulary/valueset/immunization_valuesets
- input/maps
path-suppressed-warnings: input/ignoreWarnings.txt
# For R5 ImplementationGuides, the IG.definition.parameter.code became a Coding.
# In this case, the YAML key becomes the code.code. If the code provided is in the
# value set bound in the IG definition (see: http://hl7.org/fhir/2022Sep/valueset-guide-parameter-code.html),
# that system is automatically set. If no system is provided, SUSHI will default the system
# to the system for the IG Parameter Codes
# (see: http://build.fhir.org/ig/FHIR/fhir-tools-ig/branches/master/CodeSystem-ig-parameters.html).
# To use a different system, the YAML key can be a FSH code.
# An example parameters configuration for an R5 ImplementationGuide:
# parameters:
generate-xml: true
# validation: [allow-any-extensions, no-broken-links]
# http://example.org/fhir/other-system#example: false
# The FSHOnly flag indicates if only FSH resources should be exported.
# If set to true, no IG related content will be generated.
# The default value for this property is false.
FSHOnly: false
# When set to true, the "short" and "definition" field on the root element of an Extension will
# be set to the "Title" and "Description" of that Extension. Default is true.
applyExtensionMetadataToRoot: false
# The instanceOptions property is used to configure certain aspects of how SUSHI processed instances.
# See the individual option definitions below for more detail.
instanceOptions:
# Determines for which types of Instances SUSHI will automatically set meta.profile
# if InstanceOf references a profile. Options are:
# - always: Set meta.profile for all Instances of profiles (default)
# - never: Do not set meta.profile on any Instances
# - inline-only: Set meta.profile for only Instances of profiles with Usage set to #inline
# - standalone-only: Set meta.profile for only Instances of profiles where Usage is any value other than #inline
setMetaProfile: always
# Determines for which types of Instances SUSHI will automatically set id
# if InstanceOf references a profile. Options are:
# - always: Set id for all Instances (default)
# - standalone-only: Set id for only Instances where Usage is any value other than #inline
setId: always
# When set to true, slices must be referred to by name and not only by a numeric index in order to be used
# in an Instance's assignment rule. All slices appear in the order in which they are specified in FSH rules.
# manualSliceOrdering: true