医薬品チームブログ
新記載要領

添付文書用XML解析 1. XMLの全体像

投稿日:2017.10.24

更新日:2022.08.01


先日の通知により添付文書用のXMLのスキーマが公開されました。今までのSGMLからどのように変わったのでしょうか。今回から何度かに渡ってXMLとSGMLの違いを中心に概要をみていきましょう。
今後の改訂に向けて少しでも参考になれば幸いです。

以下今後の予定を記します。
内容については順次更新していく予定です。

なお、XMLスキーマは今後も随時更新されると考えられます。内容はあくまでも記事の掲載時の情報である旨ご了承ください。

XMLの全体像

今回はルート直下の要素を見て全体像を把握しましょう。

SGMLのルート直下要素

まず、今までのSGMLのルート直下の要素を見てみましょう

sgmlroot

現在PMDAのサイトにアップする際に作成しているSGMLのルート要素とその直下の要素の一覧です。
まずルート要素は「packins」、ルート直下の「添付文書番号」から「特殊記載」までは製品名等の基本情報、「警告」以降が添付文書の本文の内容、主に【】の付く項目単位で要素が構成されていますね。

SGMLの仕様だと、【組成・性状】の項目がルート直下には存在しません。これは【組成・性状】の内容は、「承認等」の項目に、含量毎に記載されているためです。
また、『紙』の添付文書には無い、「薬物動態の表」や「臨床成績の表」等の表の為の要素が存在しています。SGMLは文章の途中で表を記載する仕様になっていないので、表を表現する場合にはこれらの表の為の要素に記載する必要があるためです。

XMLのルート直下要素

それではXMLのルート直下の要素を見てみましょう。

xmlroot

ルート要素は同じく「Packins」ですが、XMLでは要素名に大文字を用いる様になっています。以降の要素名も同様で、長い要素名はかなり読みやすくなりました。「Warnings」や「ContraIndications」等変更の無い要素名は基本的にSGMLと同じ要素名を採用しています。
ルート直下の要素はSGMLと同じく、「添付文書番号」から「特殊記載」までが基本情報、以降は添付文書の本文内容という構造ですが、新記載要領に合わせて項目の追加・削除・移動があります。
「原則禁忌」や「使用上の注意」等の一部項目が無くなり、「特定の背景を有する患者に関する注意」等の項目が追加、また「使用上の注意」に含まれていた「重要な基本的注意 」等の項目がルート直下に移動されています。新記載要領対応の添付文書を作成する為に要素の構造が整理されているのがわかるかと思います。

【組成・性状】は「承認等」から分離され、「禁忌」の直後に配置されるようになりました。それに伴い【組成・性状】は今までのSGMLと記述方法が大きく変わった要素の一つです。XMLとSGMLの違いの中でも、大きな変更点になるので、具体的な変更内容、記述方法については、別途記事で詳しく見ていきたいと思います。
また、「〇〇〇の表」という項目がなくなりました。SGMLでは文章中に表を記載出来ませんでしたが、XMLでは可能になったためです。これらにより、XMLは『紙』の添付文書と同じ順番で各項目を記述する事が出来るようになりました。SGMLでは『紙』の添付文書と表示順が異なる箇所がありましたが、XMLではより『紙』の添付文書に近い表示が出来るようになりそうです。

ルート直下要素の属性

XMLのルート要素、「Packins」にはいくつか属性が設定出来ます。少しだけスキーマを見て確認してみましょう。スキーマでは「Packins」要素は以下の様に定義されています。

  
  
    
      
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
          
        
      
      
      
        
      
        
      
         
      
    
  

スキーマの読み方についてはここでは割愛させていただきます。上記の部分の大部分で、「Packins」要素に含まれる要素が設定されており、色が変わっている83行目から90行目で属性の設定がされています。
ここを見ると「Packins」要素は次の様な属性を持つ事がわかります。

  • id
  • lang
  • version
  • referenceOfPrecautionsForUse
  • referenceOfPrecautionsForHandling

SGMLとXMLの違いという意味では、「lang」属性と「version」属性はSGMLでも存在していました。「id」と「referenceOfPrecautionsForUse」と「referenceOfPrecautionsForHandling」属性がXMLで新出です。コメントを見ると「referenceOfPrecautionsForUse」は使用上の注意の教科書ID、「referenceOfPrecautionsForHandling」は取扱い上の注意の教科書IDを記述する様です。
内部で教科書の内容を用いている場合、この属性を確認すればどの教科書を参照しているか確認する事が出来そうです。

まとめ

今回はSGMLとXMLの違いとして、ルート要素と直下の要素の構造を簡単ですが確認しました。以下に要点をまとめます。

  • 要素名に大文字を使い読みやすくなった
  • ルート要素は引き続き「packins」、その他変更の無い要素名はSGMLから引き継ぎ
  • 【組成・性状】の項目は「承認等」から分離、「禁忌」の直後は配置。文章中に表を書ける様になった為「〇〇〇〇の表」の項目は廃止
  • SGMLよりも『紙』の添付文書の表示を再現しやすくなった
  • ルートの属性に教科書を示すIDを記述する属性を持つ

次回は文章の記述部分、SGMLでのitem要素やdetail要素に当たる部分をみていきたいと思います。