Skip to content

Commit f576799

Browse files
Merge branch 'master' into Release-1.0.x
2 parents 9385349 + d3ea453 commit f576799

2 files changed

Lines changed: 36 additions & 36 deletions

File tree

docs/simplified_data_template.html

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@
44
<meta charset="UTF-8">
55
<meta http-equiv="X-UA-Compatible" content="IE=edge">
66
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7-
<meta name="generator" content="Asciidoctor 2.0.10">
7+
<meta name="generator" content="Asciidoctor 2.0.14">
88
<meta name="description" content="openEHR Simplified Data Template (SDT)">
99
<meta name="keywords" content="JSON, REST, web template, commit, simplified data, TDS, SDT, ncSDT, simSDT, structSDT">
1010
<title>Simplified Data Template (SDT)</title>
1111
<link rel="stylesheet" href="https://specifications.openehr.org/styles/openehr.css">
12+
<link rel="stylesheet" href="https://specifications.openehr.org/styles/pygments-default.css">
1213
</head>
1314
<body class="book toc2 toc-left">
1415
<div id="header">
@@ -95,7 +96,7 @@ <h1 id="_simplified_data_template_sdt" class="sect0"><a class="anchor" href="#_s
9596
</thead>
9697
<tbody>
9798
<tr>
98-
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Release</strong>: ITS-REST latest</p></td>
99+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Release</strong>: ITS-REST Release-1.0.2</p></td>
99100
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Status</strong>: DEVELOPMENT</p></td>
100101
</tr>
101102
<tr>
@@ -159,7 +160,7 @@ <h2 id="_amendment_record"><a class="anchor" href="#_amendment_record"></a>Amend
159160
</thead>
160161
<tbody>
161162
<tr>
162-
<th class="tableblock halign-center valign-top" colspan="4"><p class="tableblock"><strong>ITS_REST Release 1.0.2 (unreleased)</strong></p></th>
163+
<th class="tableblock halign-center valign-top" colspan="4"><p class="tableblock"><strong>ITS_REST Release 1.0.2</strong></p></th>
163164
</tr>
164165
<tr>
165166
<td class="tableblock halign-left valign-top"><p class="tableblock"><a id="latest_issue"></a>1.0.2</p></td>
@@ -266,7 +267,7 @@ <h3 id="_purpose"><a class="anchor" href="#_purpose"></a>1.1. Purpose</h3>
266267
<div class="sect2">
267268
<h3 id="_status"><a class="anchor" href="#_status"></a>1.2. Status</h3>
268269
<div class="paragraph">
269-
<p>This specification is in the DEVELOPMENT state. The development version of this document can be found at {json_data_template}[{json_data_template}^].</p>
270+
<p>This specification is in the DEVELOPMENT state. The development version of this document can be found at <a href="https://specifications.openehr.org/releases/ITS-REST/latest/simplified_data_template.html" target="_blank" rel="noopener">https://specifications.openehr.org/releases/ITS-REST/latest/simplified_data_template.html</a>.</p>
270271
</div>
271272
<div class="paragraph">
272273
<p>Known omissions or questions are indicated in the text with a 'to be determined' paragraph, as follows:</p>
@@ -304,7 +305,7 @@ <h2 id="_overview"><a class="anchor" href="#_overview"></a>2. Overview</h2>
304305
<div class="sect2">
305306
<h3 id="_requirements"><a class="anchor" href="#_requirements"></a>2.1. Requirements</h3>
306307
<div class="paragraph">
307-
<p>The default serialised data representations for openEHR content are canonical XML, based on the <a href="https://specifications.openehr.org/releases/ITS/latest" target="_blank" rel="noopener">openEHR RM XSDs</a>, canonical JSON, described by the <a href="https://specifications.openehr.org/releases/ITS/latest" target="_blank" rel="noopener">openEHR JSON schemas</a>, and potentially any other canonical serial format based on the underlying Reference Model (e.g. YAML etc). Here, 'canonical' means any fully-expressed instance data in which:</p>
308+
<p>The default serialised data representations for openEHR content are canonical XML, based on the <a href="https://specifications.openehr.org/releases/ITS-XML/latest" target="_blank" rel="noopener">openEHR RM XSDs</a>, canonical JSON, described by the <a href="https://specifications.openehr.org/releases/ITS-JSON/latest" target="_blank" rel="noopener">openEHR JSON schemas</a>, and potentially any other canonical serial format based on the underlying Reference Model (e.g. YAML etc). Here, 'canonical' means any fully-expressed instance data in which:</p>
308309
</div>
309310
<div class="ulist">
310311
<ul>
@@ -650,60 +651,60 @@ <h3 id="_visitor_algorithm"><a class="anchor" href="#_visitor_algorithm"></a>4.1
650651
<h4 id="_c_complex_object"><a class="anchor" href="#_c_complex_object"></a>4.1.1. C_COMPLEX_OBJECT</h4>
651652
<div class="listingblock">
652653
<div class="content">
653-
<pre class="pygments highlight"><code data-lang="java"><span></span><span class="tok-nl">SOptVisitor:</span><span class="tok-o">:</span> <span class="tok-n">OptVisitor</span> <span class="tok-o">{</span>
654+
<pre class="pygments highlight"><code data-lang="java"><span></span><span class="tok-nl">SOptVisitor:</span><span class="tok-p">:</span> <span class="tok-n">OptVisitor</span> <span class="tok-p">{</span>
654655

655656
<span class="tok-c1">//</span>
656657
<span class="tok-c1">// Visitor function for C_COMPLEX_OBJECT node in OPT</span>
657658
<span class="tok-c1">//</span>
658-
<span class="tok-kd">public</span> <span class="tok-nf">enterCComplexObject</span> <span class="tok-o">(</span><span class="tok-n">CComplexObject</span> <span class="tok-n">cObj</span><span class="tok-o">)</span> <span class="tok-o">{</span>
659+
<span class="tok-kd">public</span> <span class="tok-nf">enterCComplexObject</span> <span class="tok-p">(</span><span class="tok-n">CComplexObject</span> <span class="tok-n">cObj</span><span class="tok-p">)</span> <span class="tok-p">{</span>
659660
<span class="tok-c1">// obtain or synthesise SIM class name for cCObj.rmTypeName</span>
660-
<span class="tok-n">simClassName</span> <span class="tok-o">=</span> <span class="tok-n">xxx</span><span class="tok-o">;</span>
661+
<span class="tok-n">simClassName</span> <span class="tok-o">=</span> <span class="tok-n">xxx</span><span class="tok-p">;</span>
661662

662663
<span class="tok-c1">// create SOpt CComplexObject</span>
663-
<span class="tok-n">CComplexObject</span> <span class="tok-n">SCobj</span> <span class="tok-o">=</span> <span class="tok-k">new</span> <span class="tok-n">CComplexObject</span><span class="tok-o">(</span><span class="tok-n">simClassName</span><span class="tok-o">);</span>
664+
<span class="tok-n">CComplexObject</span> <span class="tok-n">SCobj</span> <span class="tok-o">=</span> <span class="tok-k">new</span> <span class="tok-n">CComplexObject</span><span class="tok-p">(</span><span class="tok-n">simClassName</span><span class="tok-p">);</span>
664665

665666
<span class="tok-c1">// process attributes</span>
666-
<span class="tok-k">for</span> <span class="tok-o">(</span><span class="tok-n">CAttribute</span> <span class="tok-n">cAttr</span> <span class="tok-n">in</span> <span class="tok-n">cCObj</span><span class="tok-o">.</span><span class="tok-na">attributes</span><span class="tok-o">)</span> <span class="tok-o">{</span>
667+
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">CAttribute</span> <span class="tok-n">cAttr</span> <span class="tok-n">in</span> <span class="tok-n">cCObj</span><span class="tok-p">.</span><span class="tok-na">attributes</span><span class="tok-p">)</span> <span class="tok-p">{</span>
667668

668669
<span class="tok-c1">// find any rule for this attribute</span>
669-
<span class="tok-k">if</span> <span class="tok-o">(</span><span class="tok-n">rules</span><span class="tok-o">.</span><span class="tok-na">hasPathRule</span> <span class="tok-o">(</span><span class="tok-n">cObj</span><span class="tok-o">.</span><span class="tok-na">rmTypeName</span><span class="tok-o">,</span> <span class="tok-n">CAttr</span><span class="tok-o">.</span><span class="tok-na">rmAttributeName</span><span class="tok-o">))</span> <span class="tok-o">{</span>
670-
<span class="tok-n">attrRule</span> <span class="tok-o">=</span> <span class="tok-n">rules</span><span class="tok-o">.</span><span class="tok-na">pathRule</span> <span class="tok-o">(</span><span class="tok-n">cObj</span><span class="tok-o">.</span><span class="tok-na">rmTypeName</span><span class="tok-o">,</span> <span class="tok-n">CAttr</span><span class="tok-o">.</span><span class="tok-na">rmAttributeName</span><span class="tok-o">);</span>
670+
<span class="tok-k">if</span> <span class="tok-p">(</span><span class="tok-n">rules</span><span class="tok-p">.</span><span class="tok-na">hasPathRule</span> <span class="tok-p">(</span><span class="tok-n">cObj</span><span class="tok-p">.</span><span class="tok-na">rmTypeName</span><span class="tok-p">,</span> <span class="tok-n">CAttr</span><span class="tok-p">.</span><span class="tok-na">rmAttributeName</span><span class="tok-p">))</span> <span class="tok-p">{</span>
671+
<span class="tok-n">attrRule</span> <span class="tok-o">=</span> <span class="tok-n">rules</span><span class="tok-p">.</span><span class="tok-na">pathRule</span> <span class="tok-p">(</span><span class="tok-n">cObj</span><span class="tok-p">.</span><span class="tok-na">rmTypeName</span><span class="tok-p">,</span> <span class="tok-n">CAttr</span><span class="tok-p">.</span><span class="tok-na">rmAttributeName</span><span class="tok-p">);</span>
671672

672673
<span class="tok-c1">// deal with collapse case - go through all matching paths</span>
673-
<span class="tok-k">if</span> <span class="tok-o">(</span><span class="tok-n">attrRule</span><span class="tok-o">.</span><span class="tok-na">collapse</span><span class="tok-o">)</span> <span class="tok-o">{</span>
674+
<span class="tok-k">if</span> <span class="tok-p">(</span><span class="tok-n">attrRule</span><span class="tok-p">.</span><span class="tok-na">collapse</span><span class="tok-p">)</span> <span class="tok-p">{</span>
674675
<span class="tok-c1">// create a new output C_ATTRIBUTE with the SIM attribute name</span>
675-
<span class="tok-n">CAttribute</span> <span class="tok-n">sCAttr</span> <span class="tok-o">=</span> <span class="tok-k">new</span> <span class="tok-n">CAttribute</span> <span class="tok-o">(</span><span class="tok-n">baseName</span><span class="tok-o">(</span><span class="tok-n">attrRule</span><span class="tok-o">.</span><span class="tok-na">simPath</span><span class="tok-o">));</span>
676+
<span class="tok-n">CAttribute</span> <span class="tok-n">sCAttr</span> <span class="tok-o">=</span> <span class="tok-k">new</span> <span class="tok-n">CAttribute</span> <span class="tok-p">(</span><span class="tok-n">baseName</span><span class="tok-p">(</span><span class="tok-n">attrRule</span><span class="tok-p">.</span><span class="tok-na">simPath</span><span class="tok-p">));</span>
676677

677678
<span class="tok-c1">// attach new C_OBJECT to cAttr</span>
678-
<span class="tok-k">for</span> <span class="tok-o">(</span><span class="tok-n">collapseRule</span> <span class="tok-n">in</span> <span class="tok-n">rules</span><span class="tok-o">.</span><span class="tok-na">matchingPathRules</span> <span class="tok-o">(</span><span class="tok-n">cCObj</span><span class="tok-o">.</span><span class="tok-na">rmTypeName</span><span class="tok-o">,</span> <span class="tok-n">CAttr</span><span class="tok-o">.</span><span class="tok-na">rmAttributeName</span><span class="tok-o">)</span>
679-
<span class="tok-n">sCAttr</span><span class="tok-o">.</span><span class="tok-na">appendChildren</span> <span class="tok-o">(</span><span class="tok-n">makeCCObjects</span> <span class="tok-o">(</span><span class="tok-n">collapseRule</span><span class="tok-o">));</span>
679+
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">collapseRule</span> <span class="tok-n">in</span> <span class="tok-n">rules</span><span class="tok-p">.</span><span class="tok-na">matchingPathRules</span> <span class="tok-p">(</span><span class="tok-n">cCObj</span><span class="tok-p">.</span><span class="tok-na">rmTypeName</span><span class="tok-p">,</span> <span class="tok-n">CAttr</span><span class="tok-p">.</span><span class="tok-na">rmAttributeName</span><span class="tok-p">)</span>
680+
<span class="tok-n">sCAttr</span><span class="tok-p">.</span><span class="tok-na">appendChildren</span> <span class="tok-p">(</span><span class="tok-n">makeCCObjects</span> <span class="tok-p">(</span><span class="tok-n">collapseRule</span><span class="tok-p">));</span>
680681

681-
<span class="tok-o">}</span>
682+
<span class="tok-p">}</span>
682683
<span class="tok-k">else</span>
683-
<span class="tok-n">sCAttr</span><span class="tok-o">.</span><span class="tok-na">appendChildren</span> <span class="tok-o">(</span><span class="tok-n">makeCCObjects</span> <span class="tok-o">(</span><span class="tok-n">attrRule</span><span class="tok-o">));</span>
684-
<span class="tok-o">}</span>
685-
<span class="tok-o">}</span>
686-
<span class="tok-o">}</span>
684+
<span class="tok-n">sCAttr</span><span class="tok-p">.</span><span class="tok-na">appendChildren</span> <span class="tok-p">(</span><span class="tok-n">makeCCObjects</span> <span class="tok-p">(</span><span class="tok-n">attrRule</span><span class="tok-p">));</span>
685+
<span class="tok-p">}</span>
686+
<span class="tok-p">}</span>
687+
<span class="tok-p">}</span>
687688

688-
<span class="tok-kd">private</span> <span class="tok-n">List</span><span class="tok-o">&lt;</span><span class="tok-n">CObject</span><span class="tok-o">&gt;</span> <span class="tok-nf">makeCCObjects</span> <span class="tok-o">(</span><span class="tok-n">CAttribute</span> <span class="tok-n">cAttr</span><span class="tok-o">,</span> <span class="tok-n">SOptRule</span> <span class="tok-n">aRule</span><span class="tok-o">)</span> <span class="tok-o">{</span>
689-
<span class="tok-n">List</span><span class="tok-o">&lt;</span><span class="tok-n">CObject</span><span class="tok-o">&gt;</span> <span class="tok-n">sChildCObjList</span> <span class="tok-o">=</span> <span class="tok-k">new</span> <span class="tok-n">List</span><span class="tok-o">&lt;</span><span class="tok-n">CObject</span><span class="tok-o">&gt;;</span>
690-
<span class="tok-n">CObject</span> <span class="tok-n">sChildCObj</span><span class="tok-o">;</span>
689+
<span class="tok-kd">private</span> <span class="tok-n">List</span><span class="tok-o">&lt;</span><span class="tok-n">CObject</span><span class="tok-o">&gt;</span> <span class="tok-nf">makeCCObjects</span> <span class="tok-p">(</span><span class="tok-n">CAttribute</span> <span class="tok-n">cAttr</span><span class="tok-p">,</span> <span class="tok-n">SOptRule</span> <span class="tok-n">aRule</span><span class="tok-p">)</span> <span class="tok-p">{</span>
690+
<span class="tok-n">List</span><span class="tok-o">&lt;</span><span class="tok-n">CObject</span><span class="tok-o">&gt;</span> <span class="tok-n">sChildCObjList</span> <span class="tok-o">=</span> <span class="tok-k">new</span> <span class="tok-n">List</span><span class="tok-o">&lt;</span><span class="tok-n">CObject</span><span class="tok-o">&gt;</span><span class="tok-p">;</span>
691+
<span class="tok-n">CObject</span> <span class="tok-n">sChildCObj</span><span class="tok-p">;</span>
691692

692693
<span class="tok-c1">// if SIM target type is primitive, apply constraint conversion rule</span>
693694
<span class="tok-c1">// e.g. convert C_TERMINOLOGY_CODE to a C_STRING</span>
694-
<span class="tok-k">if</span> <span class="tok-o">(</span><span class="tok-n">PrimitiveTypes</span><span class="tok-o">.</span><span class="tok-na">has</span> <span class="tok-o">(</span><span class="tok-n">aRule</span><span class="tok-o">.</span><span class="tok-na">sim_type</span><span class="tok-o">))</span> <span class="tok-o">{</span>
695-
<span class="tok-k">for</span> <span class="tok-o">(</span><span class="tok-n">cChildObj</span> <span class="tok-n">in</span> <span class="tok-n">cAttr</span><span class="tok-o">.</span><span class="tok-na">children</span><span class="tok-o">)</span> <span class="tok-o">{</span>
696-
<span class="tok-n">sChildCObj</span> <span class="tok-o">=</span> <span class="tok-n">rules</span><span class="tok-o">.</span><span class="tok-na">execute</span> <span class="tok-o">(</span><span class="tok-n">aRule</span><span class="tok-o">.</span><span class="tok-na">constraintConvRule</span> <span class="tok-o">(</span><span class="tok-n">cChildObj</span><span class="tok-o">));</span>
697-
<span class="tok-n">sChildCObjList</span><span class="tok-o">.</span><span class="tok-na">append</span> <span class="tok-o">(</span><span class="tok-n">cChildObj</span><span class="tok-o">)</span>
698-
<span class="tok-o">}</span>
699-
<span class="tok-o">}</span>
695+
<span class="tok-k">if</span> <span class="tok-p">(</span><span class="tok-n">PrimitiveTypes</span><span class="tok-p">.</span><span class="tok-na">has</span> <span class="tok-p">(</span><span class="tok-n">aRule</span><span class="tok-p">.</span><span class="tok-na">sim_type</span><span class="tok-p">))</span> <span class="tok-p">{</span>
696+
<span class="tok-k">for</span> <span class="tok-p">(</span><span class="tok-n">cChildObj</span> <span class="tok-n">in</span> <span class="tok-n">cAttr</span><span class="tok-p">.</span><span class="tok-na">children</span><span class="tok-p">)</span> <span class="tok-p">{</span>
697+
<span class="tok-n">sChildCObj</span> <span class="tok-o">=</span> <span class="tok-n">rules</span><span class="tok-p">.</span><span class="tok-na">execute</span> <span class="tok-p">(</span><span class="tok-n">aRule</span><span class="tok-p">.</span><span class="tok-na">constraintConvRule</span> <span class="tok-p">(</span><span class="tok-n">cChildObj</span><span class="tok-p">));</span>
698+
<span class="tok-n">sChildCObjList</span><span class="tok-p">.</span><span class="tok-na">append</span> <span class="tok-p">(</span><span class="tok-n">cChildObj</span><span class="tok-p">)</span>
699+
<span class="tok-p">}</span>
700+
<span class="tok-p">}</span>
700701
<span class="tok-c1">// otherwise, execute visitor on sub-tree at path to create new C_COMPLEX_OBJECT</span>
701702
<span class="tok-k">else</span>
702-
<span class="tok-n">sChildCObjList</span><span class="tok-o">.</span><span class="tok-na">extend</span> <span class="tok-o">(</span><span class="tok-n">visit</span> <span class="tok-o">(</span><span class="tok-n">aRule</span><span class="tok-o">.</span><span class="tok-na">rmPath</span><span class="tok-o">));</span>
703+
<span class="tok-n">sChildCObjList</span><span class="tok-p">.</span><span class="tok-na">extend</span> <span class="tok-p">(</span><span class="tok-n">visit</span> <span class="tok-p">(</span><span class="tok-n">aRule</span><span class="tok-p">.</span><span class="tok-na">rmPath</span><span class="tok-p">));</span>
703704

704-
<span class="tok-k">return</span> <span class="tok-n">sChildCObjList</span><span class="tok-o">;</span>
705-
<span class="tok-o">}</span>
706-
<span class="tok-o">}</span></code></pre>
705+
<span class="tok-k">return</span> <span class="tok-n">sChildCObjList</span><span class="tok-p">;</span>
706+
<span class="tok-p">}</span>
707+
<span class="tok-p">}</span></code></pre>
707708
</div>
708709
</div>
709710
</div>
@@ -747,6 +748,5 @@ <h2 id="_instance_conversion"><a class="anchor" href="#_instance_conversion"></a
747748
Last updated 2021-03-13 13:19:34 UTC
748749
</div>
749750
</div>
750-
<link rel="stylesheet" href="https://specifications.openehr.org/styles/pygments-default.css">
751751
</body>
752752
</html>

docs/simplified_data_template/master00-amendment_record.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
|===
55
|Issue|Details|Raiser|Completed
66

7-
4+^h|*ITS_REST Release 1.0.2 (unreleased)*
7+
4+^h|*ITS_REST Release 1.0.2*
88

99
|[[latest_issue]]1.0.2
1010
|{spec_tickets}/SPECITS-57[SPECITS-57^]. Updating information and links of simplified JSON formats

0 commit comments

Comments
 (0)