
カルテXML仕様
カルテの構成
カルテは以下のブロックで構成されます。
-
プロフィール
-
学生の基本情報を表示します
-
-
カード
-
カルテごとに定義した入力項目で構成されます
-
カードの単位で、表示・非表示や編集の可・不可を設定することができます
-
カードは複数用意することができます
-
-
サマリー
-
カードごとの入力状況等を表示します
-

これらを、以下のようなXMLの構造で記述します。
<?xml version=”1.0” ?>
<doc title=”サンプルカルテ” order=”1”>
<doc_template>
<profile>
<param name=”username” label=”学生ID” />
<param name=”name” label=”氏名” />
…
</profile>
<summary >…</summary>
<cards>
<static_card>…</static_card>
<static_card>…</static_card>
<appendable_card>…</appendable_card>
…
</cards>
</doc_template>
<field_templates>
<field_template … >…</field_template>
…
</field_templates>
</doc>
カルテの基本構造を定義するタグの仕様
ここではカルテの基本構造を定義する <doc>タグについて説明します。
<doc>
ルートのタグです。
属性
名称 | 必須 | 詳細 |
---|---|---|
title |
値:任意のテキスト |
|
order |
値:正の整数 |
|
値:”true”,”false” |
||
export |
値:”true”,”false” |
|
allow-external-login |
値:”true”,”false” |
|
link-top-page-to-my-page |
値:”true”,”false” |
|
my-page-menu |
値:”true”,”false” |
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
1つのみ |
すべての入力項目の定義を並べます |
|
|
1つのみ |
タブの数や内容の設定を記述します |
<doc_template>
属性
なし
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
1つのみ |
プロフィールに表示する項目を記述します |
|
|
1つのみ |
カードの数と内容を記述します |
|
|
1つのみ |
Summaryタブに表示する内容の設定を記述します。 |
|
|
1つのみ |
カードの前に表示する説明文を記述します。 |
<field_templates>
入力項目の定義が並びます
属性
なし
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
1つ以上 |
入力項目の定義を記述します |
プロフィールを定義するタグの仕様
カルテに対応付ける学生プロフィール情報を定義します。

<profile>
プロフィールを定義します。システム共通と、カルテ用とあります。
属性
なし
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
任意の数 |
プロフィールの項目を記述します |
<param>
プロフィール項目を定義します
属性
名称 | 必須 | 詳細 |
---|---|---|
name |
値:”profile.grade” |
|
type |
値:”text”,”file” |
|
label |
説明:任意のテキスト |
|
list-column |
値:”true”, “false” |
|
edit-auth |
値:”adviser”,”self”,”adviser,self” |
|
placeholder |
値: 任意のテキスト |
|
form_type |
値:”text”,”textarea” |
直下に記述できるタグ
なし
記述例
<profile>
<param name="email" label="eメール" />
<param name="profile.photo" label="写真" />
<param name="profile.furigana_name" label="ふりがな" />
<param name="profile.furigana_roma" label="Name"/>
<param name="profile.grade" label="学年" list-column="true"/>
<param name="profile.sex" label="性別"/>
<param name="profile.faclt" label="学部" list-column="true"/>
<param name="profile.dept" label="学科" list-column="true"/>
<param name="profile.admitted_year" label="入学年度"/>
<param name="custom_profile.comment" label="1行の入力欄(一覧での検索とソートに使用可能)" placeholder="入力例です" type="text" edit-auth="self" list-column="true" />
<param name="custom_profile.comment_textarea" label="複数行入力欄(一覧での検索とソートに使用可能)" type="text" form_type="textarea" edit-auth="self" list-column="true" />
<param name="custom_profile.attach" label="添付ファイル" type="file" edit-auth="self" />
<param name="custom.comment" label="1行の入力欄" placeholder="入力例です" type="text" edit-auth="self"/>
<param name="custom.comment_textarea" label="複数行入力欄" type="text" form_type="textarea" edit-auth="self"/>
<param name="custom.attach" label="添付ファイル" type="file" edit-auth="self" />
</profile>
カードを定義するタグの仕様
カードには、定義した入力項目をそのまま表示・更新する<static_card>と、定義した入力項目を1つのデータセットとして複数の入力を追記する<appendable_card>の2種類があります。 カードの中には、入力項目として<field>を定義します。<field>には選択式、記述式、ファイルアップロード、ルーブリックなどの形式が用意されています。
<cards>
カードの数と内容を定義します
属性
なし
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
任意の数 |
固定されたカードの内容を記述します |
|
|
任意の数 |
追記可能なカードの内容を記述します |
<static_card>
固定されたカードの内容を記述します

属性
名称 | 必須 | 詳細 |
---|---|---|
id |
値:英数字とアンダースコアのみ。 |
|
title |
値:任意のテキスト |
|
order |
値:正の整数 |
|
default-viewable |
値:”true”,”false” |
|
default-adviser-viewable |
値:”true”,”false” |
|
edit-protect-setting |
値:”true”,”false” |
|
edit-protect-target |
値:”self”,”adviser” ,”adviser,self” |
|
allow-external-login |
値:”true”,”false” |
|
tab-font-color |
値:任意のテキスト |
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
任意の数 |
入力項目を設定します |
|
|
任意の数 |
説明文などを表示できます |
<appendable_card>
追記可能なカードの内容を記述します。
≪デフォルトレイアウト≫
用意したfieldを列とするテーブルで表示します。

≪categorizedレイアウト≫
入力項目を一まとめのセットにしてカテゴリ分けして表示します。

属性
名称 | 必須 | 詳細 |
---|---|---|
id |
値:英数字とアンダースコアのみ。 |
|
title |
値:任意のテキスト |
|
append-auth |
値:”self”,”adviser” ,”adviser,self” |
|
order |
値:正の整数 |
|
default-viewable |
値:”true”,”false” |
|
default-adviser-viewable |
値:”true”,”false” |
|
edit-protect-setting |
値:”true”,”false” |
|
edit-protect-target |
値:”self”,”adviser” ,”adviser,self” |
|
layout |
値:”categorized”,”” |
|
category-field-id |
値:英数字とアンダースコア。fieldタグのidの値を参照。 |
|
allow-external-login |
値:”true”,”false” |
|
tab-font-color |
値:cssで有効な色キーワードやカラーコード |
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
任意の数 |
入力項目を設定します |
|
|
任意の数 |
説明文などを表示できます |
<field>
カードに載せる入力項目を記述します。入力項目の定義は<field_template>を参照します。
属性
名称 | 必須 | 詳細 |
---|---|---|
id |
値:英数字とアンダースコアのみ。 |
|
ref |
値:<field_template>のid |
|
title |
値:任意のテキスト |
|
show-title |
値:”true”,”false” |
|
chain-id |
値:英数字とアンダースコアのみ。 |
<field>のidさえ異なれば、一つのcard内に同じ入力項目を並べることができます。
|
chain-idの設定例です。
![]() |
直下に記述できるタグ
なし
<field_template>
入力項目の定義を記述します。このタグは <field_templates>タグの中に定義しなければなりません。
属性
名称 | 必須 | 詳細 |
---|---|---|
id |
値:英数字とアンダースコアのみ。 |
|
type |
値:”text”, “file”, “select”,“multi-select”, “rubric” , “date” |
|
title |
値:任意 |
|
edit-auth |
値:”self”,”adviser” ,”adviser,self” , ”external” |
|
form_type |
説明: 入力フォームの形式を変更できるtypeがあります。詳しくは下記 |
|
tips |
値:任意文字 |
|
require |
値:”true”,”false” |
|
show-modified-info |
値:”true”,”false” |
|
preview |
値:”true”,”false” |
|
preview-height |
値:”200px”など CSSで設定できる値 |
|
parent-field-id |
値:英数字とアンダースコアのみ。 |
|
show-title |
値:”true”,”false” |
|
protect-from-other |
値:”true”,”false” |
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
任意の数 |
type属性がselectまたはmulti-selectの時のみ記述できます。 |
|
|
1つのみ |
type属性がrubricの時のみ記述できます。 |
type属性
次の六種類があります。
text |
記述式 |
|
date |
年月日 |
|
file |
ファイル |
|
select |
単数選択 |
<field>タグ内の<option>タグに選択肢を記述します。 |
multi-select |
複数選択 |
<field>タグ内の<option>タグに選択肢を記述します。 |
rubric |
ルーブリック |
<field>タグ内の<rubric>タグに表の設定を記述します。詳しくは下記。 |
title |
タイトル |
入力フォームでなくテキストです。title属性の値が表示されます。 |
form_type属性
-
type="text"
のとき、form_type
にtext
かtextarea
を設定できます。
デフォルト値はtextarea
です。 -
type="rubric"
のとき、form_type
にrubric
かdropdown
を 設定できます。
デフォルト値はrubric
です。 -
type="select"
またはtype="multi-select"
のとき、
form_type
にselectbox
,checkbox
,checklist
のいずれかを設定できます。
checklist
は回答の表示が、カンマ区切りの羅列からチェックリストに変わります。
type="select"
のときデフォルト値はselectbox
です。
type=multi-select"
のときデフォルト値はcheckbox
です。
<option>
属性
名称 | 必須 | 詳細 |
---|---|---|
value |
値:任意文字 |
|
parent-value |
値:任意文字 |
テキスト
<option>タグ内のテキストがラベルとして表示されます。
記述例
<field_template id ="grade" type="select" title="学年" edit-auth="self,adviser">
<option value="1">1年</option>
<option value="2">2年</option>
<option value="3">3年</option>
<option value="4">4年</option>
</field>
<field_template id="parent" title="親カテゴリ" type="select" edit-auth="self,adviser">
<option value="動物">動物</option>
<option value="植物">植物</option>
<option value="菌類">菌類</option>
</field_template>
<field_template id="child" parent-field-id="parent" title="子項目" type="select" edit-auth="self,adviser">
<option parent-value="動物" value="クマ">クマ</option>
<option parent-value="動物" value="ネコ">ネコ</option>
<option parent-value="動物" value="タヌキ">タヌキ</option>
<option parent-value="植物" value="ヒノキ">ヒノキ</option>
<option parent-value="植物" value="スギ">スギ</option>
<option parent-value="植物" value="タケ">タケ</option>
<option parent-value="菌類" value="シイタケ">シイタケ</option>
<option parent-value="菌類" value="エノキ">エノキ</option>
<option parent-value="菌類" value="コウジカビ">コウジカビ</option>
</field_template>
<rubric>
<rubric_header>によって表のヘッダに表示するテキストを設定します。
<dimension>は表の各行の内容を指定します。
ルーブリックに学生が入力するとき、<dimension>のid属性と紐付いて値が保存されます。
<dimension>内の<level>は表のセルの内容を指定します。
記述例
<field_template id ="cook" type="rubric" title="調理実践" >
<rubric>
<rubric_header>
<level value=”0”/>
<level value=”1”/>
<level value=”2”/>
<level value=”3”/>
<level value=”4”/>
</rubric_header>
<dimension id="cut" title="切る" description=”切り方の習熟度合を評価します”>
<option level="0">まったくできなかった</option>
<option level="1">あまりできなかった</option>
<option level="2">ふつう</option>
<option level="3">少しできた</option>
<option level="4">よくできた</option>
</dimension>
<dimension id="stew" title="煮る" description=”煮方の習熟度合を評価します”>
<option level="0">まったくできなかった</option>
<option level="1">あまりできなかった</option>
<option level="2">ふつう</option>
<option level="3">少しできた</option>
<option level="4">よくできた</option>
</dimension>
<dimension id ="grill" title="焼く" description=”焼き方の習熟度合を評価します”>
<option level="0">まったくできなかった</option>
<option level="1">あまりできなかった</option>
<option level="2">ふつう</option>
<option level="3">少しできた</option>
<option level="4">よくできた</option>
</dimension>
</rubric>
</field>
<message-form>
カルテ内にメッセージ送信フォームを設置します。記入内容は、WebClassメッセージとして送信され、カルテには保存しません。 報告内容をアドバイザー同士でも共有せず管理者などだけに知らせたいときに使用します。
属性
名称 | 必須 | 詳細 |
---|---|---|
visible-auth |
値:”adviser”,”self”,”adviser,self”,”external” |
|
to |
値:カンマ区切りのユーザID |
|
subject |
値:任意のテキスト |
直下に記述できるタグ
<markdown>と<message-form-param>を記述することができます。
記述例
<message-form visible-auth="adviser"
to="admin1,author1,author2"
subject="アンプロフェッショナルな態度についての報告">
<markdown>
## アンプロフェッショナルな態度についての報告
</markdown>
<message-form-param type="text" require="true" label="診療科"/>
<message-form-param type="text" require="true" placeholder="2019/04/05~2019/04/23" label="実習期間"/>
<message-form-param type="text" label="ご所属"/>
<message-form-param type="text" require="true" label="作成医氏名"/>
<message-form-param type="text" require="true" form_type="textarea" label="報告"/>
<markdown>
このままでは将来、患者の診療に関わらせることが出来ないと考えられる学生の具体的な行動や態度について、日時と事実内容を列挙下さい。できるだけ詳細にお願いします。
</markdown>
</message-form>
上記の例では、以下のような内容のメッセージが送信されます
カルテ: 2019年度臨床実習
カード: ローテーション1
ユーザID: user1
氏名: 学生1
【診療科】
内科1
【実習期間】
2019/04/05~2019/04/23
【ご所属】
○○病院
【作成医氏名】
××太郎
【報告】
………………………
………………………
………………………
<message-form-param>
メッセージ送信フォームへの入力項目を設定します
属性
名称 | 必須 | 詳細 |
---|---|---|
label |
値:任意のテキスト |
|
form_type |
値:"text" "textarea" |
|
require |
値:"true" "false" |
|
placeholder |
値:任意のテキスト |
サマリーの表示を定義するタグの仕様
サマリーでは、各カードへの入力状況などを表示し、ルーブリックの回答をグラフで可視化します。

<summary>
属性
名称 | 必須 | 詳細 |
---|---|---|
show |
値:"true","false" |
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
1つのみ |
ルーブリックの回答がレーダーチャートで表示されます。このタグでレーダーチャートの設定を行います。 |
|
|
任意の数 |
fieldへの入力値を各カードから抽出して、サマリーに表示します。 |
<rubric-chart>
ルーブリックの回答がレーダーチャートで表示されます。このタグでレーダーチャートの設定を行います。
属性
名称 | 必須 | 詳細 |
---|---|---|
show |
値:”true”,”false” |
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
任意の数 |
このタグ一つにつき、一つのレーダーチャートを表示します。 |
|
|
任意の数 |
値:”each-dimension”,”each-field” |
記述例
デフォルト表示
何も設定しない場合は、次のように <axis-type>each-dimension</axis-type>
と記述したときと同じように、
各ルーブリックごとにレーダーチャートが表示されます。
<summary>
<rubric-chart>
<axis-type>each-dimension</axis-type>
</rubric-chart>
</summary>

一つのルーブリックにまとめる
<axis-type>each-field</axis-type>
と記述すると、各ルーブリックがレーダーチャートの軸になり、ルーブリックごとの平均値が表示されます。
<summary>
<rubric-chart>
<axis-type>each-field</axis-type>
</rubric-chart>
</summary>

カスタムする
レーダーチャート表示の対象とするデータ、グラフの幅、ラベル、各系列の色を指定することができます。
<summary>
<rubric-chart>
<radar title="分野別の自己評価[[br]]←これで改行できます" width="700">
<header>
<axis label="生徒についての理解[[br]]←これで改行できます"></axis>
<axis label="他者との協力"></axis>
<axis label="コミュニケーション"></axis>
</header>
<data>
<series label="1年[[br]]←これで改行できます">
<value card-id="grade1" field-id="understanding_of_children"></value>
<value card-id="grade1" field-id="cooperation"></value>
<value card-id="grade1" field-id="communication"></value>
</series>
<series label="2年">
<value card-id="grade2" field-id="understanding_of_children"></value>
<value card-id="grade2" field-id="cooperation"></value>
<value card-id="grade2" field-id="communication"></value>
</series>
<series label="3年">
<value card-id="grade3" field-id="understanding_of_children"></value>
<value card-id="grade3" field-id="cooperation"></value>
<value card-id="grade3" field-id="communication"></value>
</series>
</data>
</radar>
<radar title="生徒についての理解">
<header>
<axis label="心理・発達論"></axis>
<axis label="学習集団の形成"></axis>
<axis label="いじめ、不登校、特別支援教育"></axis>
</header>
<data>
<series label="1年" color="#000">
<value card-id="grade1" field-id="understanding_of_children" dimension-id="psychology"></value>
<value card-id="grade1" field-id="understanding_of_children" dimension-id="organize"></value>
<value card-id="grade1" field-id="understanding_of_children" dimension-id="problem_solving"></value>
</series>
<series label="2年" color="#fff">
<value card-id="grade2" field-id="understanding_of_children" dimension-id="psychology"></value>
<value card-id="grade2" field-id="understanding_of_children" dimension-id="organize"></value>
<value card-id="grade2" field-id="understanding_of_children" dimension-id="problem_solving"></value>
</series>
<series label="3年" color="#f00">
<value card-id="grade3" field-id="understanding_of_children" dimension-id="psychology"></value>
<value card-id="grade3" field-id="understanding_of_children" dimension-id="organize"></value>
<value card-id="grade3" field-id="understanding_of_children" dimension-id="problem_solving"></value>
</series>
</data>
</radar>
</rubric-chart>
</summary>

<extract-static-field>
fieldを各カードから抽出して、サマリーに表示します。<static_card>の値のみ抽出します。
属性
名称 | 必須 | 詳細 |
---|---|---|
target-id-list |
値:fieldのid |
|
title |
値:任意のテキスト |
直下に記述できるタグ
なし
その他のタグの仕様
<markdown>
Markdownで書かれたテキストを挿入できます。
Markdownとは、HTMLより手軽に書ける、見出しやリストなどの構造を表現できる文章の記法です。
画面に表示する際にはHTMLに変換されます。
修学カルテのMarkdownには、標準的な書き方に次の拡張記法が追加されています。
-
文末にスペースを2つ以上入れなくても、そのまま改行されます
-
[[br]]で表内部で改行を挿入できます
-
次のように記述することで文字列をcssで装飾できます
[[color:red; text-decoration:underline]]赤色と下線で装飾された文字列[[/]]
属性
名称 | 必須 | 詳細 |
---|---|---|
id |
値:任意のテキスト |
|
display-only-while-editing |
値:"true" "false" |
記述例
<markdown>
# 見出し1
## 見出し2
### 見出し3
#### 見出し4
##### 見出し5
###### 見出し6
## 装飾
1行目です
2行目です
**太字** の装飾
[[color:red]]赤色[[/]]の装飾
[[text-decoration:underline]]下線[[/]]の装飾
[[color:red; text-decoration:underline]]赤色で下線[[/]]の装飾
## 区切り線
----
## リスト
* Item 1
* Item 2
* Item 2a
* Item 2b
## 順序付きリスト
1. Item 1
1. Item 2
1. Item 2a
1. Item 2b
## リンク
[マニュアル](http://webclass.jp/manuals/user/integrated-portfolio/plugins/shugaku_carte/xml-definition.html)
[ページ内リンク](#markdown-test1)
## 表
| Left align | Right align | Center align |
|:-----------|------------:|:------------:|
| This | This | This |
| column | column | 表の中で[[br]]改行する|
| will | will | will |
| be | be | be |
| left | right | center |
| aligned | aligned | aligned |
## 画像

</markdown>
<!-- テキストに半角の `<>` を含む場合はこのように`<![CDATA[` `]]>`で全体を囲むようにしてください。 -->
<markdown>
<![CDATA[
## 引用
> 引用文
> > > ネストした引用
]]>
</markdown>
<markdown id="test1">
markdownブロックに対してページ内リンクを張ることができます。
markdownブロックのid属性を"test1"とすると、`[ページ内リンク](#markdown-test1)`でページ内リンクを作成できます。
</markdown>
v2.14.8から ../カルテテンプレートのID
をリンク先に指定することでカルテ間にリンクを張れるようになりました。
<markdown>
## リンク
[臨床実習](../clinical)
[医行為](../ikoui)
[到達目標](../totatsu)
</markdown>
<before_cards>
プロフィールとカードの間に挟む説明文を記述します。
属性
なし
直下に記述できるタグ
名称 | 必須 | 記述可能な数 | 詳細 |
---|---|---|---|
|
任意の数 |
カードを選択する前に表示する説明文などを記入します |