カルテXML仕様

カルテの構成

カルテは以下のブロックで構成されます。

  • プロフィール

    • 学生の基本情報を表示します

  • カード

    • カルテごとに定義した入力項目で構成されます

    • カードの単位で、表示・非表示や編集の可・不可を設定することができます

    • カードは複数用意することができます

  • サマリー

    • カードごとの入力状況等を表示します

carte top

これらを、以下のような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

値:正の整数
説明:カルテをリストしたときの表示順序

print

値:”true”,”false”
説明:印刷画面の有効無効を切り替えられます。デフォルトは”true”です。

export

値:”true”,”false”
説明:htmlエクスポート機能の有効無効を切り替えられます。デフォルトは”true”です。

allow-external-login

値:”true”,”false”
説明:外部評価機能の有効無効を切り替えられます。デフォルトは”false”です。

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<filed_templates>

1つのみ

すべての入力項目の定義を並べます

<doc_template>

1つのみ

タブの数や内容の設定を記述します

<doc_template>

属性

なし

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<profile>

1つのみ

プロフィールに表示する項目を記述します

<cards>

1つのみ

カードの数と内容を記述します

<summary>

1つのみ

Summaryタブに表示する内容の設定を記述します。

<field_templates>

入力項目の定義が並びます

属性

なし

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<field_template>

1つ以上

入力項目の定義を記述します

プロフィールを定義するタグの仕様

カルテに対応付ける学生プロフィール情報を定義します。

profile

<profile>

プロフィールを定義します。システム共通と、カルテ用とあります。

属性

なし

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<param>

任意の数

プロフィールの項目を記述します

<param>

プロフィール項目を定義します

属性

名称 必須 詳細

name

値:”profile.grade”
説明:プロフィールに表示する値を指定します。”profile.”で始まる項目は、nameとtypeが固定されたWebClassシステム共通のものです。”custom.”で始める項目としてカルテ用項目を自由に設定できます。具体例は下記。

type

値:”text”,”file”
説明:テキスト型かファイル型か選択できます。

label

説明:任意のテキスト
説明:プロフィールに表示する際のラベルです。

list-column

値:”true”, “false”
デフォルト : “false”
説明:ユーザ一覧画面で表示するかどうか指定します。ファイル形式の項目については無効。

edit-auth

値:”adviser”,”self”,”adviser,self”
説明:編集可能なユーザーを設定します。”self”にすると学生本人が編集可能です。”adviser”にするとアドバイザーが編集可能です。

placeholder

値: 任意のテキスト
説明:テキスト型のとき、placeholderを設定できます。

form_type

値:”text”,”textarea”
説明:テキスト型のとき、入力欄が1行か複数行か選択できます。

直下に記述できるタグ

なし

記述例

<profile>
  <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.comment" label="1行の入力欄" placeholder="入力例です" type="text"  edit-auth="self"   list-column="true" />
  <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>

任意の数

固定されたカードの内容を記述します

<appendable_card>

任意の数

追記可能なカードの内容を記述します

<static_card>

固定されたカードの内容を記述します

static card

属性

名称 必須 詳細

id

値:英数字とアンダースコアのみ。
説明:cardを一意に指定します。

title

値:任意のテキスト
説明:カードのタイトルです

order

値:正の整数
説明:カードを表示するときの順番です。orderの指定がない場合、XMLでの記述順に並びます。

default-viewable

値:”true”,”false”
説明:カードが学生に表示されるかどうかの初期設定。”true”にすると最初から表示されます。

default-adviser-viewable

値:”true”,”false”
説明:カードがアドバイザーに表示されるかどうかの初期設定。デフォルトは”true”

edit-protect-setting

値:”true”,”false”
説明:入力期間設定をするかどうかの設定。”false”にするといつでも入力可能になります。デフォルトは”true”

edit-protect-target

値:”self”,”adviser” ,”adviser,self”
説明:編集期間の制限をする対象を設定します。デフォルトは”self”。 edit-protect-settingがtrueのときのみ反映されます。

allow-external-login

値:”true”,”false”
説明:外部評価機能が有効なとき、公開可能かどうかを切り替えられます。デフォルトは”false”です。

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<field>

任意の数

入力項目を設定します

<p>

任意の数

説明文などを表示できます

<appendable_card>

追記可能なカードの内容を記述します。

≪デフォルトレイアウト≫
用意したフィールドを列とするテーブルで表示します。

appendable card default

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

appendable card categorized

属性

名称 必須 詳細

id

値:英数字とアンダースコアのみ。
説明:cardを一意に指定します。

title

値:任意のテキスト
説明:カードのタイトルです

append-auth

値:”self”,”adviser” ,”adviser,self”
説明:追加可能なユーザーを設定します。”self”にすると学生本人が追加可能です。”adviser”にするとアドバイザーが追加可能です

order

値:正の整数
説明:カードを表示するときの順番です。orderの指定がない場合、XMLでの記述順に並びます。

default-viewable

値:”true”,”false”
説明:カードが学生に表示されるかどうかの初期設定。”true”にすると最初から表示されます。

default-adviser-viewable

値:”true”,”false”
説明:カードがアドバイザーに表示されるかどうかの初期設定。デフォルトは”true”

edit-protect-setting

値:”true”,”false”
説明:入力期間設定をするかどうかの設定。”false”にするといつでも入力可能になります。デフォルトは”true”

edit-protect-target

値:”self”,”adviser” ,”adviser,self”
説明:編集期間の制限をする対象を設定します。デフォルトは”self”。 edit-protect-settingがtrueのときのみ反映されます。

layout

値:”categorized”,””
説明:値を”categorized”にすると、category-fieldで設定されたfieldの値に従って、タブ分けしてカードが表示されます。

category-field-id

値:英数字とアンダースコア。fieldタグのidの値を参照。
説明:選択したフィールドの値によってタブをまとめます。fieldの種類はselect,date,textのみ有効です。

allow-external-login

値:”true”,”false”
説明:外部評価機能が有効なとき、公開可能かどうかを切り替えられます。デフォルトは”false”です。

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<field>

任意の数

入力項目を設定します

<p>

任意の数

説明文などを表示できます

<field>

カードに載せる入力項目を記述します。入力項目の定義は<field_template>を参照します。

属性

名称 必須 詳細

id

値:英数字とアンダースコアのみ。
説明:fieldを一意に指定します

ref

値:<field_template>のid
説明:入力項目の設定を参照します

直下に記述できるタグ

なし

<field_template>

入力項目の定義を記述します。このタグは <field_templates>タグの中に定義しなければなりません。

属性

名称 必須 詳細

id

値:英数字とアンダースコアのみ。
説明:<field_template>を一意に指定するための名称です。

type

値:”text”, “file”, “select”,“multi-select”, “rubric” , “date”
説明:fieldの種類です。詳しくは下記

title

値:任意
説明:入力項目に表示されるタイトルです。

edit-auth

値:”self”,”adviser” ,”adviser,self” , ”external”
説明:編集可能なユーザーを設定します。”self”にすると学生本人が編集可能です。”adviser”にするとアドバイザーが編集可能です。”external”にすると外部評価者が編集可能です。

form_type

説明: 入力フォームの形式を変更できるtypeがあります。詳しくは下記

tips

値:任意文字
説明:入力項目の入力書式など、注意書きとして表示されます。

require

値:”true”,”false”
説明:require=”true”と記述すると入力必須項目になります。

show-modified-info

値:”true”,”false”
説明:”false”に設定すると更新日時が表示されなくなります。

preview

値:”true”,”false”
説明:typeがfileのときに使用できます。アップロードされたファイルがPDFか画像ならプレビューを表示します。

preview-height

値:”200px”など CSSで設定できる値
説明:previewがtrueのときに使用できます。プレビューの高さを設定します。

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<option>

任意の数

type属性がselectまたはmulti-selectの時のみ記述できます。

<rubric>

1つのみ

type属性がrubricの時のみ記述できます。

type属性

次の六種類があります。

text

記述式

date

年月日

file

ファイル

select

単数選択

<field>タグ内の<option>タグに選択肢を記述します。

multi-select

複数選択

<field>タグ内の<option>タグに選択肢を記述します。

rubric

ルーブリック

<field>タグ内の<rubric>タグに表の設定を記述します。詳しくは下記。

title

タイトル

入力フォームでなくテキストです。title属性の値が表示されます。

form_type属性

  • type="text" のとき、 form_typetexttextarea を設定できます。
    デフォルト値は textarea です。

  • type="rubric" のとき、form_typerubricdropdown を 設定できます。
    デフォルト値は rubric です。

  • type="select" または type="multi-select" のとき、
    form_typeselectbox , checkbox, checklist のいずれかを設定できます。
    checklist は回答の表示が、カンマ区切りの羅列からチェックリストに変わります。
    type="select" のときデフォルト値は selectbox です。
    type=multi-select" のときデフォルト値は checkbox です。

<option>

属性

名称 必須 詳細

value

値:英数字
説明:実際に保存する値

テキスト

<option>タグ内のテキストがラベルとして表示されます。

記述例

<field_template id ="grade" type="select" title="学年">
  <option value="1">1年</option>
  <option value="2">2年</option>
  <option value="3">3年</option>
  <option value="4">4年</option>
</field>

<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”
説明:メッセージ送信フォームを表示するユーザーを設定します。”self”にすると学生本人が編集可能です。”adviser”にするとアドバイザーが編集可能です。”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"
説明:入力項目の形式を指定します。textは1行の入力欄。textareaは複数行の入力欄です。

require

値:"true" "false"
説明:必須項目かどうか設定します。必須項目を空にしたままだとメッセージ送信できなくなります

placeholder

値:任意のテキスト
説明:プレースホルダに表示する文を設定します

<markdown>

Markdownで書かれたテキストを挿入できます。
Markdownとは、HTMLより手軽に書ける、見出しやリストなどの構造を表現できる文章の記法です。
画面に表示する際にはHTMLに変換されます。

修学カルテのMarkdownには、標準的な書き方に次の拡張記法が追加されています。

  • 文末にスペースを2つ以上入れなくても、そのまま改行されます

  • [[br]]で表内部で改行を挿入できます

  • 次のように記述することで文字列をcssで装飾できます
     [[color:red; text-decoration:underline]]赤色と下線で装飾された文字列[[/]]

記述例

<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      |


  ## 画像

  ![Minion](https://octodex.github.com/images/dojocat.jpg)

</markdown>
<!-- テキストに半角の `<>` を含む場合はこのように`<![CDATA[` `]]>`で全体を囲むようにしてください。 -->
<markdown>
  <![CDATA[

  ## 引用
  > 引用文
  > > > ネストした引用

  ]]>
</markdown>
<markdown id="test1">
    markdownブロックに対してページ内リンクを張ることができます。
    markdownブロックのid属性を"test1"とすると、`[ページ内リンク](#markdown-test1)`でページ内リンクを作成できます。
</markdown>

サマリーの表示を定義するタグの仕様

サマリーでは、各カードへの入力状況などを表示し、ルーブリックの回答をグラフで可視化します。

summary

<summary>

属性

名称 必須 詳細

show

値:"true","false"
説明:サマリーを表示するか否か設定します

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<rubric-chart>

1つのみ

ルーブリックの回答がレーダーチャートで表示されます。このタグでレーダーチャートの設定を行います。

<extract-static-field>

任意の数

フィールドへの入力値を各カードから抽出して、サマリーに表示します。

<rubric-chart>

ルーブリックの回答がレーダーチャートで表示されます。このタグでレーダーチャートの設定を行います。

属性

名称 必須 詳細

show

値:”true”,”false”
説明:レーダーチャートを表示するか否か

直下に記述できるタグ

名称 必須 記述可能な数 詳細

<radar>

任意の数

このタグ一つにつき、一つのレーダーチャートを表示します。

<axis-type>

任意の数

値:”each-dimension”,”dimension”
説明: <radar> の省略記法です。学生に表示されているカードとルーブリックが対象になります。値がeach-dimensionであれば、ルーブリックごとにレーダーチャートが表示され、ルーブリックのdimensionがレーダーチャートの軸になります。each-fieldであれば、各ルーブリックがレーダーチャートの軸になり、ルーブリックごとの平均値が表示されます。

記述例

デフォルト表示

何も設定しない場合は、次のように <axis-type>each-dimension</axis-type> と記述したときと同じように、 各ルーブリックごとにレーダーチャートが表示されます。

<summary>
  <rubric-chart>
    <axis-type>each-dimension</axis-type>
  </rubric-chart>
</summary>
radar chart default
一つのルーブリックにまとめる

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

<summary>
  <rubric-chart>
    <axis-type>each-field</axis-type>
  </rubric-chart>
</summary>
radar chart each field
カスタムする

レーダーチャート表示の対象とするデータ、グラフの幅、ラベル、各系列の色を指定することができます。

<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>
radar chart custom

<extract-static-field>

フィールドを各カードから抽出して、サマリーに表示します。<static_card>の値のみ抽出します。

属性

名称 必須 詳細

target-id-list

値:fieldのid
説明:抽出するfieldのidを指定します。

title

値:任意のテキスト
説明:タイトルを付けることができます。

直下に記述できるタグ

なし