-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathValueSet-And-CodeSystem.html
More file actions
579 lines (475 loc) · 52.8 KB
/
ValueSet-And-CodeSystem.html
File metadata and controls
579 lines (475 loc) · 52.8 KB
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
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
<!doctype html>
<!--
FHIR Drills
Copyright 2016 Australian Digital Health Agency. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License
-->
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="FHIR Tutorials by the Australian Digital Health Agency to help you understand FHIR and its spec! No technical experience required.">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
<title>ValueSet & CodeSystem | FHIR® tutorials</title>
<!-- Add to homescreen for Chrome on Android -->
<!-- <meta name="mobile-web-app-capable" content="yes">
<link rel="icon" sizes="192x192" href="images/android-desktop.png"> -->
<!-- Add to homescreen for Safari on iOS -->
<!-- <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="Material Design Lite">
<link rel="apple-touch-icon-precomposed" href="images/ios-desktop.png"> -->
<!-- Tile icon for Win8 (144x144 + tile color) -->
<!-- <meta name="msapplication-TileImage" content="images/touch/ms-touch-icon-144x144-precomposed.png">
<meta name="msapplication-TileColor" content="#3372DF"> -->
<link rel="shortcut icon" href="images/favicon.ico">
<!-- SEO: If your mobile URL is different from the desktop URL, add a canonical link to the desktop page https://developers.google.com/webmasters/smartphone-sites/feature-phones -->
<!--
<link rel="canonical" href="http://www.example.com/">
-->
<!-- CodeMirror -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/codemirror.min.css"></link>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.deep_purple-pink.min.css">
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="css/language-switcher.css">
<style>
#view-source {
position: fixed;
display: block;
right: 0;
bottom: 0;
margin-right: 40px;
margin-bottom: 40px;
z-index: 900;
}
</style>
<link href="css/lightbox.min.css" rel="stylesheet">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-80290058-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body class="mdl-demo mdl-color--grey-100 mdl-color-text--grey-700 mdl-base lang-en">
<!-- The drawer is always open in large screens. The header is always shown,
even in small screens. -->
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-drawer
mdl-layout--fixed-header">
<header class="mdl-layout__header">
<div class="mdl-layout__header-row">
<div class="mdl-layout-spacer"></div>
<div class="mdl-textfield mdl-js-textfield mdl-textfield--expandable
mdl-textfield--floating-label mdl-textfield--align-right">
<label class="mdl-button mdl-js-button mdl-button--icon"
for="fixed-header-drawer-exp">
<i class="material-icons">search</i>
</label>
<div class="mdl-textfield__expandable-holder">
<input class="mdl-textfield__input" type="text" name="sample"
id="fixed-header-drawer-exp">
</div>
</div>
</div>
</header>
<div class="mdl-layout__drawer">
<span class="mdl-layout-title">
<span class="lang-content lang-en">FHIR<sup>®</sup> tutorials</span>
<span class="lang-content lang-ru">FHIR<sup>®</sup> уроки</span>
</span>
<nav class="mdl-navigation">
<a href="./index.html" class="mdl-navigation__link">
<span class="lang-content lang-en">Overview</span>
<span class="lang-content lang-ru">Обзор</span>
</a>
<a href="./simple-patient.html" id="simple-patient" class="mdl-navigation__link">
<span class="lang-content lang-en">Simple Patient</span>
<span class="lang-content lang-ru">пациент</span>
</a>
<a href="./simple-search.html" id="simple-search" class="mdl-navigation__link">
<span class="lang-content lang-en">Simple Search</span>
<span class="lang-content lang-ru">поиск</span>
</a>
<a href="./patient-with-references.html" id="patient-with-references" class="mdl-navigation__link">
<span class="lang-content lang-en">Patient with References</span>
<span class="lang-content lang-ru">Пациент со ссылками</span>
</a>
<a href="./bundle.html" id="bundle" class="mdl-navigation__link">
<span class="lang-content lang-en">Bundle</span>
<span class="lang-content lang-ru">Пакет</span>
</a>
<a href="./operations.html" id="operations" class="mdl-navigation__link">
<span class="lang-content lang-en">Operations</span>
<span class="lang-content lang-ru">Операции</span>
</a>
<a href="./ValueSet-And-CodeSystem.html" id="ValueSet-And-CodeSystem" class="mdl-navigation__link is-active-tab">
<span class="lang-content lang-en">ValueSet & CodeSystem</span>
<span class="lang-content lang-ru">ValueSet и CodeSystem</span>
</a>
<a href="./conceptmap.html" id="conceptmap" class="mdl-navigation__link">
<span class="lang-content lang-en">ConceptMap</span>
<span class="lang-content lang-ru">ConceptMap</span>
</a>
<a href="./fhir-api.html" id="conceptmap" class="mdl-navigation__link">
<span class="lang-content lang-en">FHIR APIs</span>
<span class="lang-content lang-ru">FHIR API</span>
</a>
<a href="#" class="mdl-navigation__link"></a>
<a href="./exercises.html" class="mdl-navigation__link">
<span class="lang-content lang-en">FHIR exercises</span>
<span class="lang-content lang-ru">FHIR упражнения</span>
</a>
</nav>
</div>
<main class="mdl-layout__content">
<section class="section--center mdl-grid mdl-grid--no-spacing mdl-shadow--2dp">
<div class="mdl-card mdl-cell mdl-cell--12-col-desktop mdl-cell--6-col-tablet mdl-cell--4-col-phone">
<div class="mdl-card__supporting-text">
<!-- English Content -->
<div class="lang-content lang-en">
<h4>ValueSet and CodeSystem</h4>
<p>This tutorial will cover the basics of the ValueSet and CodeSystem resources which are two of the three key resources for working with terminology within FHIR, with the other one being <a href="./conceptmap.html">ConceptMap</a>.</p>
<ul class="toc">
<h4>Contents</h4>
<!-- pr prefix stands for 'patient references'-->
<a href="#vac-step1">Step 1: What are ValueSets and CodeSystems</a>
<a href="#vac-step2">Step 2: CodeSystem the FHIR Resources</a>
<a href="#vac-step3">Step 3: ValueSet the FHIR Resources</a>
<a href="#vac-step4">Step 4: Understanding how ValueSet codes are used</a>
<a href="#vac-step5">Step 5: Creating ValueSets using filters (Include, Exclude and Filter)</a>
<a href="#vac-step6">Step 6: Using the $expand operation</a>
</ul>
<h5 id="vac-step1">Step 1: What are ValueSets and CodeSystems</h5>
<p>In Healthcare, we use many codes from many different sets of codes. We have relatively simple ones like patient gender and more complex ones such as allergies and adverse reactions and more clerical ones like facility codes or billing codes. FHIR cannot define every required code and code set for every Healthcare system across the world. Instead, FHIR provides a mechanism to manage the codes and code sets and that mechanism is a CodeSystem and ValueSet resources.</p>
<p>FHIR's CodeSystems and ValueSets work hand in hand to manage terminology in FHIR. The two are so closely tied that in the early versions of FHIR they were actually one resource. Yet since the STU3 version of FHIR, they have been separated. Here we will first explain the concepts behind CodeSystem and ValueSet and later we will look at the FHIR resources that embody them.</p>
<p>It is best to start by explaining CodeSystem as it is the basis that ValueSets are then created from. You can think of a CodeSystem as being a master catalogue of a particular set of codes. It is the totality of all the codes in a system. That system may be SNOMED-CT or LOINC or even a system you create for yourself. Let's use an analogy to help explain.</p>
<p>I love Allen's lollies. Let's imagine that each different lolly is a code. We have RipeRaspberries, Pineapples, MilkBottles, Snakes and all of the other Allen's lollies. If we listed the entire catalogue of Allen's lollies with a description for each, the date the list was put together, the lists publisher details and more then this would be the CodeSystem.</p>
<img src="images/Lollies-Mix.jpg" width="30%">
<p>The CodeSystem does not get used by the consumers, it is just the reference catalogue for all Allen's lollies, so if you want to find out more about the code 'RipeRaspberrie' then you would go to the CodeSystem. What a consumer uses is a ValueSet, because a ValueSet adds value to the consumer. In our lolly analogy, the ValueSet is the packet of lollies you buy, like the Party Mix or the bag of lollies you choose because they're your favourites. This is a ValueSet because it serves a purpose. It is a selection of codes from the CodeSystem to be used for a purpose.</p>
<img src="images/Lollies-BagOf.jpg" width="20%">
<p>A ValueSet is not limited to a single CodeSystem just as our bag of lollies is not limited to Allen's lollies. I'm also quite fond of Smarties, but only Red and Blue ones, from the Smarties CodeSystem, and also a few RedSkins from the Wonka CodeSystem. All of these can go into my same lolly bag which is a single ValueSet.</p>
<p>Next, we will look at the FHIR resources used for these concepts which are also named CodeSystem and ValueSet.</p>
</div>
<!-- Russian Content -->
<div class="lang-content lang-ru">
<h4>ValueSet и CodeSystem</h4>
<p>Этот урок охватывает основы ресурсов ValueSet и CodeSystem, которые являются двумя из трех ключевых ресурсов для работы с терминологией в FHIR; третьим является <a href="./conceptmap.html">ConceptMap</a>.</p>
<ul class="toc">
<h4>Содержание</h4>
<a href="#vac-step1">Шаг 1: Что такое ValueSet и CodeSystem</a>
<a href="#vac-step2">Шаг 2: CodeSystem - ресурс FHIR</a>
<a href="#vac-step3">Шаг 3: ValueSet - ресурс FHIR</a>
<a href="#vac-step4">Шаг 4: Понимание того, как используются коды ValueSet</a>
<a href="#vac-step5">Шаг 5: Создание ValueSet с использованием фильтров (Include, Exclude и Filter)</a>
<a href="#vac-step6">Шаг 6: Использование операции $expand</a>
</ul>
<h5 id="vac-step1">Шаг 1: Что такое ValueSet и CodeSystem</h5>
<p>В здравоохранении мы используем множество кодов из различных наборов кодов. У нас есть относительно простые, такие как пол пациента, и более сложные, такие как аллергии и побочные реакции, а также более административные, такие как коды учреждений или коды выставления счетов. FHIR не может определить каждый необходимый код и набор кодов для каждой системы здравоохранения по всему миру. Вместо этого FHIR предоставляет механизм для управления кодами и наборами кодов, и этим механизмом являются ресурсы CodeSystem и ValueSet.</p>
<p>CodeSystem и ValueSet в FHIR работают рука об руку для управления терминологией в FHIR. Эти два ресурса настолько тесно связаны, что в ранних версиях FHIR они фактически были одним ресурсом. Однако с версии STU3 FHIR они были разделены. Здесь мы сначала объясним концепции, лежащие в основе CodeSystem и ValueSet, а затем рассмотрим ресурсы FHIR, которые их воплощают.</p>
<p>Лучше всего начать с объяснения CodeSystem, поскольку это основа, на которой затем создаются ValueSet. Вы можете думать о CodeSystem как о главном каталоге определенного набора кодов. Это совокупность всех кодов в системе. Эта система может быть SNOMED-CT или LOINC, или даже система, которую вы создаете для себя. Давайте используем аналогию для объяснения.</p>
<p>Я люблю конфеты Allen's. Давайте представим, что каждая разная конфета - это код. У нас есть RipeRaspberries, Pineapples, MilkBottles, Snakes и все остальные конфеты Allen's. Если бы мы перечислили весь каталог конфет Allen's с описанием для каждой, датой составления списка, деталями издателя списка и многим другим, то это был бы CodeSystem.</p>
<img src="images/Lollies-Mix.jpg" width="30%">
<p>CodeSystem не используется потребителями напрямую, это просто справочный каталог всех конфет Allen's, поэтому если вы хотите узнать больше о коде 'RipeRaspberries', то вы обратитесь к CodeSystem. То, что использует потребитель, это ValueSet, потому что ValueSet добавляет ценность для потребителя. В нашей аналогии с конфетами ValueSet - это пакет конфет, который вы покупаете, например Party Mix или пакет конфет, который вы выбираете, потому что они ваши любимые. Это ValueSet, потому что он служит цели. Это выборка кодов из CodeSystem для использования в определенных целях.</p>
<img src="images/Lollies-BagOf.jpg" width="20%">
<p>ValueSet не ограничен одним CodeSystem, так же как наш пакет конфет не ограничен конфетами Allen's. Я также довольно люблю Smarties, но только красные и синие, из CodeSystem Smarties, а также несколько RedSkins из CodeSystem Wonka. Все это может попасть в мой же пакет конфет, который является единым ValueSet.</p>
<p>Далее мы рассмотрим ресурсы FHIR, используемые для этих концепций, которые также называются CodeSystem и ValueSet.</p>
</div>
<!-- Step 2 - English -->
<div class="lang-content lang-en">
<h5 id="vac-step2">Step 2: CodeSystem the FHIR Resource</h5>
<p>Let's take a closer look at the FHIR resource named CodeSystem, you will find the resource page in the FHIR specification here:</p>
<ul>
<li><b><a href="http://hl7.org/fhir/R4/codesystem.html" rel="stylesheet">Resource CodeSystem</a></b></li>
</ul>
<p><b>Below is a simple example of a CodeSystem FHIR resource</b></p>
<p>The example below only contains two codes <b>'easy'</b> and <b>'hard'</b>. What is important for you at this stage is to grasp the basic structure of the resource. Notice that the top section (lines 8 to 20), like all FHIR resources, is a narrative HTML representation of the CodeSystem. The middle section (lines 21 to 37) is all the metadata about the CodeSystem, things like the version, a name and description for the CodeSystem, its status, whether it is experimental or not, who is the publisher and whether the codes are case sensitive. The last section (lines 38 to 45) are the actual codes each in their own <code><concept></code> element.</p>
<p>Don't forget, the CodeSystem is a catalogue of codes to be selected in ValueSets.</p>
</div>
<!-- Step 2 - Russian -->
<div class="lang-content lang-ru">
<h5 id="vac-step2">Шаг 2: CodeSystem - ресурс FHIR</h5>
<p>Давайте внимательнее рассмотрим ресурс FHIR под названием CodeSystem, страницу ресурса в спецификации FHIR вы найдете здесь:</p>
<ul>
<li><b><a href="http://hl7.org/fhir/R4/codesystem.html" rel="stylesheet">Ресурс CodeSystem</a></b></li>
</ul>
<p><b>Ниже приведен простой пример ресурса CodeSystem FHIR</b></p>
<p>Пример ниже содержит только два кода <b>'easy'</b> и <b>'hard'</b>. Важно для вас на этом этапе понять базовую структуру ресурса. Обратите внимание, что верхняя секция (строки 8-20), как и все ресурсы FHIR, является нарративным HTML-представлением CodeSystem. Средняя секция (строки 21-37) содержит все метаданные о CodeSystem, такие как версия, имя и описание CodeSystem, его статус, является ли он экспериментальным или нет, кто является издателем и чувствительны ли коды к регистру. Последняя секция (строки 38-45) содержит фактические коды, каждый в своем элементе <code><concept></code>.</p>
<p>Не забывайте, CodeSystem - это каталог кодов для выбора в ValueSet.</p>
</div>
<textarea id="codesystem-1" class="fhir-resource-json">
{
"resourceType": "CodeSystem",
"id": "1",
"meta": {
"versionId": "1",
"lastUpdated": "2016-06-27T13:50:00Z"
},
"text": {
"status": "additional",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>Code System for FHIR tutorial participants to rate the difficulty of understanding of the training material</p><p>Developed by: Australian Digital Health Agency Connectathon team (example)</p><p>Published for testing on 27-June 2016</p><table><tr><td><b>Code</b></td><td><b>Display</b></td></tr><tr><td>easy</td><td>I found the material easy to understand</td></tr><tr><td>hard</td><td>I found the material hard to understand</td></tr></table></div>"
},
"url": "urn:uuid:c4a698d9-6749-4c2a-abd3-9d2eb9e8e0a1",
"version": "20162726",
"name": "FHIR tutorial difficulty levels",
"title": "FHIR tutorial difficulty levels",
"status": "draft",
"experimental": true,
"publisher": "Australian Digital Health Agency",
"contact": [
{
"name": "Angus Millar",
"telecom": [
{
"system": "email",
"value": "angus.millar@digitalhealth.gov.au"
}
]
}
],
"date": "2016-06-27",
"description": "Code System for FHIR tutorial participants to rate the difficulty of understanding of the training material",
"caseSensitive": true,
"content": "complete",
"concept": [
{
"code": "easy",
"display": "I found the material easy to understand"
},
{
"code": "hard",
"display": "I found the material hard to understand"
}
]
}</textarea>
<!-- English continuation -->
<div class="lang-content lang-en">
<p>This example does not show every property of a CodeSystem resource. I've only used the ones I thought were key while also trying to keep the example nice and short. Take a look at <a href="http://hl7.org/fhir/R4/codesystem.html" rel="stylesheet">CodeSystem</a> in the FHIR specification to see all the properties available.</p>
</div>
<!-- Russian continuation -->
<div class="lang-content lang-ru">
<p>Этот пример не показывает все свойства ресурса CodeSystem. Я использовал только те, которые считал ключевыми, стараясь при этом сохранить пример коротким и понятным. Посмотрите на <a href="http://hl7.org/fhir/R4/codesystem.html" rel="stylesheet">CodeSystem</a> в спецификации FHIR, чтобы увидеть все доступные свойства.</p>
</div>
<!-- Step 3 - English -->
<div class="lang-content lang-en">
<h5 id="vac-step3">Step 3: ValueSet the FHIR Resources</h5>
<p>Let's take a closer look at the FHIR resource named ValueSet, you will find the resource page in the FHIR specification here:</p>
<ul>
<li><b><a href="http://hl7.org/fhir/R4/valueset.html" rel="stylesheet">Resource ValueSet</a></b></li>
</ul>
<p><b>Here is a simple example of a ValueSet FHIR resource</b></p>
<p>This ValueSet resource below selects codes from the CodeSystem example we looked at in <a href="#vac-step2">Step 2</a>. Notice that this ValueSet selects both the <b>'easy'</b> and <b>'hard'</b> codes from the CodeSystem.</p>
<p>Please notice how the the CodeSystem is referenced in the ValueSet using the '<b><code>compose/include/system/@value</code></b>' which points to the GUID seen in the CodeSystem's '<b><code>url</code></b>' property. Take special note of this '<b><code>url</code></b>' property as it is not the resource id or the URL to the FHIR resource in the server. Rather, it is a property of the CodeSystem resource. This '<b><code>url</code></b>' is intended to be globally unique, so the same CodeSystem can be in any number of servers and can always be found by this '<b><code>url</code></b>', not by the resource id.</p>
<p>Remember the ValueSet is free to pick and choose whichever codes it requires from the CodeSystem, it could even select more codes from another CodeSystem if required.</p>
</div>
<!-- Step 3 - Russian -->
<div class="lang-content lang-ru">
<h5 id="vac-step3">Шаг 3: ValueSet - ресурс FHIR</h5>
<p>Давайте внимательнее рассмотрим ресурс FHIR под названием ValueSet, страницу ресурса в спецификации FHIR вы найдете здесь:</p>
<ul>
<li><b><a href="http://hl7.org/fhir/R4/valueset.html" rel="stylesheet">Ресурс ValueSet</a></b></li>
</ul>
<p><b>Вот простой пример ресурса ValueSet FHIR</b></p>
<p>Этот ресурс ValueSet ниже выбирает коды из примера CodeSystem, который мы рассмотрели в <a href="#vac-step2">Шаге 2</a>. Обратите внимание, что этот ValueSet выбирает оба кода <b>'easy'</b> и <b>'hard'</b> из CodeSystem.</p>
<p>Пожалуйста, обратите внимание на то, как CodeSystem ссылается в ValueSet с использованием '<b><code>compose/include/system/@value</code></b>', который указывает на GUID, видимый в свойстве '<b><code>url</code></b>' CodeSystem. Обратите особое внимание на это свойство '<b><code>url</code></b>', поскольку это не идентификатор ресурса и не URL к ресурсу FHIR на сервере. Скорее, это свойство ресурса CodeSystem. Этот '<b><code>url</code></b>' предназначен для глобальной уникальности, поэтому один и тот же CodeSystem может находиться на любом количестве серверов и всегда может быть найден по этому '<b><code>url</code></b>', а не по идентификатору ресурса.</p>
<p>Помните, что ValueSet свободен выбирать любые коды, которые ему требуются из CodeSystem, он может даже выбрать больше кодов из другого CodeSystem, если это необходимо.</p>
</div>
<textarea id="valuesystem-1" class="fhir-resource-json">
{
"resourceType": "ValueSet",
"id": "1",
"meta": {
"versionId": "1",
"lastUpdated": "2016-06-27T15:00:00Z"
},
"text": {
"status": "additional",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>ValueSet for FHIR tutorial participants to rate the difficulty of understanding of the training material</p><p>Developed by: Australian Digital Health Agency Connectathon team (example)</p><p>Published for testing on 28-June 2016</p><table><tr><td><b>Code</b></td><td><b>Display</b></td></tr><tr><td>easy</td><td>I found the material easy to understand</td></tr><tr><td>hard</td><td>I found the material hard to understand</td></tr></table></div>"
},
"url": "urn:uuid:8ec3847e-789e-4994-a74b-7bbf55d88190",
"version": "20160530",
"name": "FHIR tutorial difficulty levels",
"title": "FHIR tutorial difficulty levels",
"status": "draft",
"experimental": true,
"publisher": "Australian Digital Health Agency",
"contact": [
{
"name": "Angus Millar",
"telecom": [
{
"system": "email",
"value": "angus.millar@digitalhealth.gov.au"
}
]
}
],
"date": "2016-06-27",
"description": "Codes for FHIR tutorial participants to rate the difficulty of understanding of the training material",
"compose": {
"lockedDate": "2016-06-27",
"include": [
{
"system": "urn:uuid:c4a698d9-6749-4c2a-abd3-9d2eb9e8e0a1",
"version": "20162726",
"concept": [
{
"code": "easy"
},
{
"code": "hard"
}
]
}
]
}
}</textarea>
<!-- English continuation -->
<div class="lang-content lang-en">
<p>Remember, a ValueSet is a grouping of codes, codes are taken from CodeSystems, to be used for a purpose. ValueSet codes adds value to some use case, for example: a clinical systems drop down box to select an allergy.</p>
<p>Once again you should go to the FHIR specification page for <a href="http://hl7.org/fhir/R4/valueset.html" rel="stylesheet">ValueSet</a> to see the full list of properties available.</p>
<p><b>Question:</b> If you had two copies of a ValueSet resource given to you, from different people, how would you determine that the two instances were actually the same ValueSet?</p>
<b>CSIRO's Snapper</b>
<p>Snapper is an online tool developed by the CSIRO team that created the ONTO FHIR Terminology server. The tool provides a friendly user interface for creating and editing FHIR CodeSystems, ValueSets and ConceptMaps rather than having you fiddle with XML or JSON. Your finished resource can then be downloaded locally or published directly into an FHIR server of you choosing. This free tool can be found here: <a href="http://ontoserver.csiro.au/snapper" rel="stylesheet">Snapper</a></p>
</div>
<!-- Russian continuation -->
<div class="lang-content lang-ru">
<p>Помните, ValueSet - это группировка кодов, коды берутся из CodeSystems для использования в определенных целях. Коды ValueSet добавляют ценность для некоторого случая использования, например: выпадающий список клинической системы для выбора аллергии.</p>
<p>Еще раз вам следует перейти на страницу спецификации FHIR для <a href="http://hl7.org/fhir/R4/valueset.html" rel="stylesheet">ValueSet</a>, чтобы увидеть полный список доступных свойств.</p>
<p><b>Вопрос:</b> Если бы вам дали две копии ресурса ValueSet от разных людей, как бы вы определили, что эти два экземпляра на самом деле являются одним и тем же ValueSet?</p>
<b>Snapper от CSIRO</b>
<p>Snapper - это онлайн-инструмент, разработанный командой CSIRO, которая создала терминологический сервер ONTO FHIR. Инструмент предоставляет дружественный пользовательский интерфейс для создания и редактирования FHIR CodeSystems, ValueSets и ConceptMaps, вместо того чтобы заставлять вас возиться с XML или JSON. Ваш готовый ресурс затем может быть загружен локально или опубликован непосредственно на FHIR-сервере по вашему выбору. Этот бесплатный инструмент можно найти здесь: <a href="http://ontoserver.csiro.au/snapper" rel="stylesheet">Snapper</a></p>
</div>
<p><a href="images/ValueSetSnapperScreenshot.png" data-lightbox="ValueSetSnapperScreenshot"><img src="images/ValueSetSnapperScreenshot.png" width="60%" class="thumbnail"/></a></p>
<!-- Step 4 - English -->
<div class="lang-content lang-en">
<h5 id="vac-step4">Step 4: Understanding how ValueSet codes are stored</h5>
<p>It is easy to fall into the trap of thinking that the code information you list in a ValueSet will be exactly the same code information used when a ValueSet is called upon by a system. This isn't the case, however, as the codes stored in a ValueSet actually belong to a CodeSystem - a valueset instance only contains the 'links' to the actual codes in a codesystem. Thus when a codesystem's codes are updated, the valuesets containing these codes will contain the updated codes automatically. This is demonstrated well by one of the primary uses of a ValueSet: getting a list of codes to present to a user as specified by the links in the valueset, this is done with a special operation on the FHIR Terminology Server called <b>'<code>$expand</code>'</b>. This is known as ValueSet Expansion or ValueSet enumeration.</p>
<p>We are not going to go into how to perform an expansion now (see <a href="#vac-step6">step 6</a> for that), but you do need to know what happens in the FHIR Terminology Server when an expansion is performed as it is key to your understanding.</p>
<p>As seen in this first diagram (you can click to enlarge) a developer calls the <b>'<code>$expand</code>'</b> operation on a given ValueSet because they want the list of codes and descriptions to display to a user. As we have seen, the ValueSet has a list of codes and it knows the CodeSystems for each code.</p>
</div>
<!-- Step 4 - Russian -->
<div class="lang-content lang-ru">
<h5 id="vac-step4">Шаг 4: Понимание того, как хранятся коды ValueSet</h5>
<p>Легко попасть в ловушку, думая, что информация о кодах, которую вы перечисляете в ValueSet, будет точно такой же информацией о кодах, используемой, когда ValueSet вызывается системой. Однако это не так, поскольку коды, хранящиеся в ValueSet, фактически принадлежат CodeSystem - экземпляр valueset содержит только 'ссылки' на фактические коды в codesystem. Таким образом, когда коды codesystem обновляются, valuesets, содержащие эти коды, будут автоматически содержать обновленные коды. Это хорошо демонстрируется одним из основных применений ValueSet: получение списка кодов для представления пользователю, как указано ссылками в valueset, это делается с помощью специальной операции на FHIR Terminology Server, называемой <b>'<code>$expand</code>'</b>. Это известно как ValueSet Expansion или ValueSet enumeration.</p>
<p>Мы не будем сейчас углубляться в то, как выполнить расширение (см. <a href="#vac-step6">шаг 6</a> для этого), но вам нужно знать, что происходит в FHIR Terminology Server при выполнении расширения, поскольку это ключ к вашему пониманию.</p>
<p>Как видно на этой первой диаграмме (вы можете нажать для увеличения), разработчик вызывает операцию <b>'<code>$expand</code>'</b> на данном ValueSet, потому что он хочет получить список кодов и описаний для отображения пользователю. Как мы видели, ValueSet имеет список кодов и знает CodeSystems для каждого кода.</p>
</div>
<p><a href="images/ValueSetExpansionRequestDiagram.png" data-lightbox="ValueSetExpansionResponseDiagram"><img src="images/ValueSetExpansionRequestDiagram.png" width="50%" class="thumbnail"/></a></p>
<!-- English continuation -->
<div class="lang-content lang-en">
<p>The FHIR terminology server does not just return the codes in the ValueSet, what it does is reference the CodeSystems as listed for each code in the ValueSet and retrieves the information about the code from the CodeSystem resource in real-time and returns this back to the developer as an expanded ValueSet.</p>
</div>
<!-- Russian continuation -->
<div class="lang-content lang-ru">
<p>FHIR terminology server не просто возвращает коды в ValueSet, он ссылается на CodeSystems, как указано для каждого кода в ValueSet, и получает информацию о коде из ресурса CodeSystem в реальном времени и возвращает это разработчику как расширенный ValueSet.</p>
</div>
<p><a href="images/ValueSetExpansionResponseDiagram.png" data-lightbox="ValueSetExpansionResponseDiagram"><img src="images/ValueSetExpansionResponseDiagram.png" width="50%" class="thumbnail"/></a></p>
<!-- English continuation -->
<div class="lang-content lang-en">
<p>What this means is that the ValueSet is only a reference to the codes in the CodeSystem. A key point here is that if the code description was updated in the CodeSystem then a ValueSet expansion will pick up the new description even though the ValueSet was never modified. You can control this by supplying version element alongside the codesystem's canonical URL.</p>
</div>
<!-- Russian continuation -->
<div class="lang-content lang-ru">
<p>Это означает, что ValueSet является только ссылкой на коды в CodeSystem. Ключевой момент здесь заключается в том, что если описание кода было обновлено в CodeSystem, то расширение ValueSet подхватит новое описание, даже если ValueSet никогда не изменялся. Вы можете контролировать это, давая версию CodeSystem вместе с canonical URL.</p>
</div>
<!-- Step 5 - English -->
<div class="lang-content lang-en">
<h5 id="vac-step5">Step 5: Creating ValueSets using filters (Include, Exclude and Filter)</h5>
<p>In the previous '<a href="#vac-step4">Step 4: Understanding how ValueSet codes are used</a>' we learnt that ValueSets only select codes from CodeSystems. In our simple ValueSet example we selected, or rather 'Included', our codes by stating the actual code values '<b>easy</b>' and '<b>hard</b>' as they were seen in our CodeSystem. Yet, there is another way to select codes for inclusion in the ValueSet which is by using a filter.</p>
<p>We will avoid deep diving on filters but it is worth noting they exist and can be used. Typically a filter would be used when the code system being used has a hierarchical structure, meaning each code can have a parent or children codes such as the LOINC code system or even a poly-hierarchical system where codes can have many parents and many children codes such as SNOMED-CT.</p>
<p><a href="images/ValueSetToeNailSNOMEDCode.png" data-lightbox="ValueSetToeNailSNOMEDCode"><img src="images/ValueSetToeNailSNOMEDCode.png" width="80%" class="thumbnail"/></a></p>
<p>With hierarchical code systems, we can use a filter to say <i>"include all codes under this parent code"</i>. This way, as new codes are introduced under a parent code, in the code system, they will automatically be included in our ValueSet's selected codes. In the very same way we can include codes, we can also <b>exclude</b> codes either by stating the code to exclude or by using another filter.</p>
<p>The image below is taken from the <a href="http://hl7.org/fhir/R4/valueset.html#resource" rel="stylesheet"><b>ValueSet tree structure in the FHIR specification</b></a> and highlights the sections that deals with the topic discussed in this step (Include, Exclude & Filter).</p>
<p><a href="images/ValueSetFilterTreeDiagram.png" data-lightbox="ValueSetFilterTreeDiagram"><img src="images/ValueSetFilterTreeDiagram.png" width="100%" class="thumbnail"/></a></p>
</div>
<!-- Step 5 - Russian -->
<div class="lang-content lang-ru">
<h5 id="vac-step5">Шаг 5: Создание ValueSet с использованием фильтров (Include, Exclude и Filter)</h5>
<p>В предыдущем '<a href="#vac-step4">Шаге 4: Понимание того, как используются коды ValueSet</a>' мы узнали, что ValueSet только выбирают коды из CodeSystems. В нашем простом примере ValueSet мы выбрали, или скорее 'Включили', наши коды, указав фактические значения кодов '<b>easy</b>' и '<b>hard</b>', как они были видны в нашем CodeSystem. Однако есть другой способ выбрать коды для включения в ValueSet - это использование фильтра.</p>
<p>Мы избежим глубокого погружения в фильтры, но стоит отметить, что они существуют и могут быть использованы. Обычно фильтр используется, когда используемая система кодов имеет иерархическую структуру, что означает, что каждый код может иметь родительский или дочерние коды, такие как система кодов LOINC, или даже поли-иерархическую систему, где коды могут иметь много родителей и много дочерних кодов, такую как SNOMED-CT.</p>
<p><a href="images/ValueSetToeNailSNOMEDCode.png" data-lightbox="ValueSetToeNailSNOMEDCode"><img src="images/ValueSetToeNailSNOMEDCode.png" width="80%" class="thumbnail"/></a></p>
<p>С иерархическими системами кодов мы можем использовать фильтр, чтобы сказать <i>"включить все коды под этим родительским кодом"</i>. Таким образом, когда новые коды вводятся под родительским кодом в системе кодов, они автоматически будут включены в выбранные коды нашего ValueSet. Точно так же, как мы можем включать коды, мы также можем <b>исключать</b> коды, либо указав код для исключения, либо используя другой фильтр.</p>
<p>Изображение ниже взято из <a href="http://hl7.org/fhir/R4/valueset.html#resource" rel="stylesheet"><b>древовидной структуры ValueSet в спецификации FHIR</b></a> и выделяет разделы, которые касаются темы, обсуждаемой в этом шаге (Include, Exclude и Filter).</p>
<p><a href="images/ValueSetFilterTreeDiagram.png" data-lightbox="ValueSetFilterTreeDiagram"><img src="images/ValueSetFilterTreeDiagram.png" width="100%" class="thumbnail"/></a></p>
</div>
</div>
</div>
</section>
<footer class="mdl-mega-footer">
<div class="mdl-mega-footer--middle-section">
<div class="mdl-mega-footer--drop-down-section">
<input class="mdl-mega-footer--heading-checkbox" type="checkbox" checked>
<h1 class="mdl-mega-footer--heading">
<span class="lang-content lang-en">The Agency</span>
<span class="lang-content lang-ru">Агентство</span>
</h1>
<ul class="mdl-mega-footer--link-list">
<li><a href="https://www.digitalhealth.gov.au/">digitalhealth.gov.au</a></li>
<li><a href="https://myhealthrecord.gov.au/internet/mhr/publishing.nsf/content/home" title="Australian national health record">
<span class="lang-content lang-en">My Health Record</span>
<span class="lang-content lang-ru">Моя медицинская карта</span>
</a></li>
</ul>
</div>
<div class="mdl-mega-footer--drop-down-section">
<input class="mdl-mega-footer--heading-checkbox" type="checkbox" checked>
<h1 class="mdl-mega-footer--heading">FHIR</h1>
<ul class="mdl-mega-footer--link-list">
<li><a href="https://confluence.hl7.org/spaces/FHIR/pages/391191767/2026-01+Connectathon+41" title="Virtual FHIR Connectathon, January 13-15, 2026">
<span class="lang-content lang-en">Connectathon 41</span>
<span class="lang-content lang-ru">Connectathon 41</span>
</a></li>
<li><a href="http://hl7.org/fhir/R4" title="FHIR R4 Release">
<span class="lang-content lang-en">FHIR R4 Release</span>
<span class="lang-content lang-ru">Релиз FHIR R4</span>
</a></li>
<li><a href="http://build.fhir.org/" title="The latest FHIR as it is in development">
<span class="lang-content lang-en">FHIR Continuous Integration Build</span>
<span class="lang-content lang-ru">FHIR Continuous Integration Build</span>
</a></li>
</ul>
</div>
<!-- Language Selector -->
<div class="mdl-mega-footer--drop-down-section">
<input class="mdl-mega-footer--heading-checkbox" type="checkbox" checked>
<h1 class="mdl-mega-footer--heading">
<span class="lang-content lang-en">Language</span>
<span class="lang-content lang-ru">Язык</span>
</h1>
<div class="language-selector">
<select id="language-dropdown" class="lang-dropdown" onchange="switchLanguage(this.value)">
<option value="en">English</option>
<option value="ru" title="Russian language support for Central Asian countries adopting FHIR">Русский</option>
</select>
</div>
</div>
</div>
</footer>
</main>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/codemirror.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.13.4/mode/xml/xml.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.14.2/mode/javascript/javascript.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/material-design-lite/1.3.0/material.min.js"></script>
<script src="js/lightbox-plus-jquery.min.js"></script>
<!-- lua.vm.js -->
<script src="js/lua.vm.js/dist/lua.vm.js"></script>
<!-- main javascript for this page-->
<script src="js/main.js"></script>
<!-- supporting javascript to actually do the uploading -->
<script src="js/post-resources.js"></script>
<script src="js/language-switcher.js"></script>
</body>
</html>