HL7 FHIR JP Core ImplementationGuide
1.1.0a - ci-build Japan flag

HL7 FHIR JP Core ImplementationGuide - Local Development build (v1.1.0a). See the Directory of published versions

Resource Profile: JP Core MedicationAdministration Profile

項目内容
定義URL http://jpfhir.jp/fhir/core/StructureDefinition/JP_MedicationAdministration
Version 1.1.0a
Name

JP_MedicationAdministration

Title

JP Core MedicationAdministration Profile

Status Active ( 2022-09-26 )
Copyright

FHIR Japanese implementation research working group in Japan Association of Medical Informatics (JAMI)

このプロファイルはMedicationAdministrationリソースに対して、内服・外用薬剤処方投与実施情報のデータを送受信するための基礎となる制約と拡張を定めたものである。


このResource/Profileは内服、外用の薬剤処方の投与実施情報を表現する。薬剤処方は指示する項目、使用する用語集、プロセスなどにおいて諸外国と日本では異なっており、日本国内で規格を運用するためにExtensionの追加や用語集の追加・変更を行った。現在、日本での処方関連規格として利用されているJAHIS 処方データ交換規約 Ver 3.0C を参考にした。

薬剤処方のFHIR仕様に関しては、先行事例として「処方情報 HL7FHIR 記述仕様」があるが、利用できる仕様については可能な限り取り入れるようにした。ただし、拡張のURLは新たにJP Coreの命名規則に基づいて命名している。

背景および想定シナリオ

本プロファイルは、以下のようなユースケースを想定している。

  • 電子カルテから特定の患者の処方実施情報を検索する
  • SS-MIX2やJAHIS処方データ交換規約に準拠した処方実施メッセージをJSONに変換する

スコープ

対象

このProfileの対象は内服、外用の一般的な薬剤処方の投与実施情報を電子的に連携するためのメッセージを記述することである。

対象としないこと

このProfileは内服、外用の薬剤に関するものであり、注射薬剤については対象としない。注射薬剤は、指示の仕方や指示する項目が内服、外用とは大きく異なるため、別のProfileとして記述することとする。

また、このリソースは薬剤の投与実施に関するものであり、指示(オーダ)、調剤や払い出しは対象としない。それぞれ、MedicationRequest、MedicationDispense が対応するリソースである。

プロファイル定義

Usage:

プロファイル詳細

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from JP_MedicationAdministrationBase

Summary

Mandatory: 4 elements
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element MedicationAdministration.medication[x] is sliced based on the value of type:$this
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..*JP_MedicationAdministrationBase患者への薬剤投与記録
... identifier 2..*Identifier外部から参照されるID
... identifier:orderInRp 1..1Identifier同一RP番号(剤グループ)での薬剤の表記順
.... system 1..1uriRP番号内(剤グループ内)の連番を示すsystem値
Fixed Value: urn:oid:1.2.392.100495.20.3.82
.... value 1..1stringRP番号内(剤グループ内)の連番
... medication[x] 1..1CodeableConceptWhat medication was supplied 医薬品
Slice: Unordered, Open by type:$this
... medicationCodeableConcept 1..1CodeableConceptWhat medication was supplied 医薬品
Binding: JP Core MedicationCode ValueSet (preferred): 処方する製剤を表すコード。

... dosage
.... rateRatio 0..1JP_MedicationRatio_DosePerPeriod単位時間内での薬剤の容量
.... rateQuantity 0..1SimpleQuantity投与速度(量/時間)を指定する

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..*JP_MedicationAdministrationBase患者への薬剤投与記録
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... requestDepartment 0..1CodeableConcept依頼科
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_RequestDepartment
Binding: JP Core Department SS-MIX ValueSet (preferred)
... requestAuthoredOn 0..1dateTime依頼日時
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_RequestAuthoredOn
... location 0..1Reference(JP Core Location Profile)実施場所
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_Location
... requester 0..*Reference(JP Core Practitioner Profile)依頼医
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_Requester
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier 2..*Identifier外部から参照されるID
Slice: Unordered, Open by value:system
.... identifier:rpNumber 1..1Identifier処方箋内部の剤グループとしてのRp番号
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriRp番号(剤グループ番号)についてのsystem値
Fixed Value: urn:oid:1.2.392.100495.20.3.81
..... value Σ1..1stringRp番号(剤グループ番号)
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:requestIdentifier 0..*Identifier処方オーダに対するID(MedicationRequestからの継承)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriThe namespace for the identifier value
Fixed Value: http://jpfhir.jp/fhir/core/IdSystem/resourceInstance-identifier
..... value Σ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:orderInRp 1..1Identifier同一RP番号(剤グループ)での薬剤の表記順
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriRP番号内(剤グループ内)の連番を示すsystem値
Fixed Value: urn:oid:1.2.392.100495.20.3.82
..... value Σ1..1stringRP番号内(剤グループ内)の連番
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... instantiates Σ0..*uriInstantiates protocol or definition プロトコルや定義のインスタンス化
... partOf Σ0..*Reference(MedicationAdministration | Procedure)Part of referenced event 親イベントへの参照
... status ?!Σ1..1codecompleted | stopped
Binding: MedicationAdministration Status Codes (required): 患者への投与状況

... statusReason 0..*CodeableConceptReason administration not performed 実施されていない理由
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration is negated.


... category 0..1CodeableConceptType of medication usage 薬が使用される区分
Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur.

... Slices for medication[x] Σ1..1CodeableConceptWhat medication was supplied 医薬品
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.

.... medication[x]:medicationCodeableConcept Σ1..1CodeableConceptWhat medication was supplied 医薬品
Binding: JP Core MedicationCode ValueSet (preferred): 処方する製剤を表すコード。

... subject Σ1..1Reference(JP Core Patient Profile)Who received medication 投与対象患者
... context 0..1Reference(JP Core Encounter Profile | EpisodeOfCare)Encounter or Episode of Care administered as part of Encounter、または一部として実施されるケアエピソード
... supportingInformation 0..*Reference(Resource)Additional information to support administration 投与をサポートする追加情報
... effective[x] Σ1..1Start and end time of administration 開始時間と終了時間
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... performer Σ0..*BackboneElementWho performed the medication administration and what they did 投薬を実施した人
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function 0..1CodeableConceptType of performance
Binding: MedicationAdministration Performer Function Codes (example): A code describing the role an individual played in administering the medication.

.... actor Σ1..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Patient Profile | RelatedPerson | Device)Who performed the medication administration
... reasonCode 0..*CodeableConceptReason administration performed 投薬が実施された理由
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.


... reasonReference 0..*Reference(JP Core Condition Profile | JP Core Observation Common Profile | JP Core DiagnosticReport Common Profile)Condition or observation that supports why the medication was administered 薬が投与された理由を裏付ける状態または観察
... request 0..1Reference(MedicationRequest)Request administration performed against 実施された元の投与依頼情報
... device 0..*Reference(Device)Device used to administer 投与に使用されるデバイス
... note 0..*AnnotationInformation about the administration 投与に関する備考情報
... dosage C0..1BackboneElementDetails of how medication was taken 薬の服用方法の詳細
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... text 0..1stringFree text dosage instructions e.g. SIG フリーテキストの投与方法の説明 SIG:用法
.... site 0..1CodeableConceptBody site administered to 投与部位
Binding: JP Core Medication JAMI External Body Site ValueSet (preferred)
.... route 0..1CodeableConceptPath of substance into body 体への投与経路
Binding: JP Core Medication HL70162-based Route ValueSet (preferred)
.... method 0..1CodeableConcept投与方法
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:unitDigit1 Σ0..1Coding投与⽅法に対応するJAMI 用法コード表基本用法1桁コード
Binding: JP Core Medication JAMI Basic Usage Type ValueSet (preferred)
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.392.200250.2.2.20.30
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... coding:unitDigit2 Σ0..1Coding投与⽅法に対応するJAMI 用法コード表基本用法2桁コード
Binding: JP Core Medication JAMI Detail Usage ValueSet (preferred)
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.392.200250.2.2.20.40
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1string投与⽅法のテキスト表現
.... dose C0..1JP_MedicationSimpleQuantityAmount of medication per dose 用量あたりの投薬量
.... Slices for rate[x] 0..1Dose quantity per unit of time 単位時間あたりの用量
Slice: Unordered, Closed by type:$this
..... rateRatioRatio
..... rateQuantityQuantity(SimpleQuantity)
..... rate[x]:rateRatio C0..1JP_MedicationRatio_DosePerPeriod単位時間内での薬剤の容量
..... rate[x]:rateQuantity C0..1SimpleQuantity投与速度(量/時間)を指定する
... eventHistory 0..*Reference(Provenance)A list of events of interest in the lifecycle ライフサイクルで関心のあるイベントのリスト

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationAdministration.languagepreferredCommonLanguages
Max Binding: AllLanguages
MedicationAdministration.identifier:rpNumber.userequiredIdentifierUse
MedicationAdministration.identifier:rpNumber.typeextensibleIdentifier Type Codes
MedicationAdministration.identifier:requestIdentifier.userequiredIdentifierUse
MedicationAdministration.identifier:requestIdentifier.typeextensibleIdentifier Type Codes
MedicationAdministration.identifier:orderInRp.userequiredIdentifierUse
MedicationAdministration.identifier:orderInRp.typeextensibleIdentifier Type Codes
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
MedicationAdministration.statusReasonexampleSNOMEDCTReasonMedicationNotGivenCodes
MedicationAdministration.categorypreferredMedicationAdministration Category Codes
MedicationAdministration.medication[x]exampleSNOMEDCTMedicationCodes
MedicationAdministration.medication[x]:medicationCodeableConceptpreferredJP_MedicationCode_VS
MedicationAdministration.performer.functionexampleMedicationAdministration Performer Function Codes
MedicationAdministration.reasonCodeexampleReasonMedicationGivenCodes
MedicationAdministration.dosage.sitepreferredJP_MedicationBodySiteJAMIExternal_VS
MedicationAdministration.dosage.routepreferredJP_MedicationRouteHL70162_VS
MedicationAdministration.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
MedicationAdministration.dosage.method.coding:unitDigit1preferredJP_MedicationMethodJAMIBasicUsage_VS
MedicationAdministration.dosage.method.coding:unitDigit2preferredJP_MedicationMethodJAMIDetailUsage_VS

Constraints

IdGradePathDetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorMedicationAdministration.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.extension:requestDepartmentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extension:requestDepartmentMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.extension:requestAuthoredOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extension:requestAuthoredOnMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.extension:locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extension:locationMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.extension:requesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extension:requesterMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.identifier:rpNumber.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.identifier:rpNumber.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.identifier:requestIdentifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.identifier:requestIdentifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRpAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.identifier:orderInRp.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.identifier:orderInRp.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.instantiatesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.medication[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.medication[x]:medicationCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.contextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.supportingInformationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.performer.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.performer.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.performer.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.performer.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.performer.functionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.performer.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.requestAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.deviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
mad-1errorMedicationAdministration.dosageSHALL have at least one of dosage.dose or dosage.rate[x]
: dose.exists() or rate.exists()
ele-1errorMedicationAdministration.dosage.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.siteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.routeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.method.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.method.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.method.coding:unitDigit1.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.method.coding:unitDigit2.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.doseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorMedicationAdministration.dosage.doseIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorMedicationAdministration.dosage.doseThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorMedicationAdministration.dosage.rate[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.rate[x]:rateRatioAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
rat-1errorMedicationAdministration.dosage.rate[x]:rateRatioNumerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
: (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
ele-1errorMedicationAdministration.dosage.rate[x]:rateQuantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorMedicationAdministration.dosage.rate[x]:rateQuantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorMedicationAdministration.dosage.rate[x]:rateQuantityThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorMedicationAdministration.eventHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

This structure is derived from JP_MedicationAdministrationBase

Summary

Mandatory: 4 elements
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element MedicationAdministration.medication[x] is sliced based on the value of type:$this

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..*JP_MedicationAdministrationBase患者への薬剤投与記録
... identifier 2..*Identifier外部から参照されるID
... identifier:orderInRp 1..1Identifier同一RP番号(剤グループ)での薬剤の表記順
.... system 1..1uriRP番号内(剤グループ内)の連番を示すsystem値
Fixed Value: urn:oid:1.2.392.100495.20.3.82
.... value 1..1stringRP番号内(剤グループ内)の連番
... medication[x] 1..1CodeableConceptWhat medication was supplied 医薬品
Slice: Unordered, Open by type:$this
... medicationCodeableConcept 1..1CodeableConceptWhat medication was supplied 医薬品
Binding: JP Core MedicationCode ValueSet (preferred): 処方する製剤を表すコード。

... dosage
.... rateRatio 0..1JP_MedicationRatio_DosePerPeriod単位時間内での薬剤の容量
.... rateQuantity 0..1SimpleQuantity投与速度(量/時間)を指定する

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationAdministration 0..*JP_MedicationAdministrationBase患者への薬剤投与記録
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... requestDepartment 0..1CodeableConcept依頼科
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_RequestDepartment
Binding: JP Core Department SS-MIX ValueSet (preferred)
... requestAuthoredOn 0..1dateTime依頼日時
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_RequestAuthoredOn
... location 0..1Reference(JP Core Location Profile)実施場所
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_Location
... requester 0..*Reference(JP Core Practitioner Profile)依頼医
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_Requester
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier 2..*Identifier外部から参照されるID
Slice: Unordered, Open by value:system
.... identifier:rpNumber 1..1Identifier処方箋内部の剤グループとしてのRp番号
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriRp番号(剤グループ番号)についてのsystem値
Fixed Value: urn:oid:1.2.392.100495.20.3.81
..... value Σ1..1stringRp番号(剤グループ番号)
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:requestIdentifier 0..*Identifier処方オーダに対するID(MedicationRequestからの継承)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriThe namespace for the identifier value
Fixed Value: http://jpfhir.jp/fhir/core/IdSystem/resourceInstance-identifier
..... value Σ1..1stringThe value that is unique
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
.... identifier:orderInRp 1..1Identifier同一RP番号(剤グループ)での薬剤の表記順
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

..... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

..... system Σ1..1uriRP番号内(剤グループ内)の連番を示すsystem値
Fixed Value: urn:oid:1.2.392.100495.20.3.82
..... value Σ1..1stringRP番号内(剤グループ内)の連番
Example General: 123456
..... period Σ0..1PeriodTime period when id is/was valid for use
..... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... instantiates Σ0..*uriInstantiates protocol or definition プロトコルや定義のインスタンス化
... partOf Σ0..*Reference(MedicationAdministration | Procedure)Part of referenced event 親イベントへの参照
... status ?!Σ1..1codecompleted | stopped
Binding: MedicationAdministration Status Codes (required): 患者への投与状況

... statusReason 0..*CodeableConceptReason administration not performed 実施されていない理由
Binding: SNOMEDCTReasonMedicationNotGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration is negated.


... category 0..1CodeableConceptType of medication usage 薬が使用される区分
Binding: MedicationAdministration Category Codes (preferred): A coded concept describing where the medication administered is expected to occur.

... Slices for medication[x] Σ1..1CodeableConceptWhat medication was supplied 医薬品
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): Codes identifying substance or product that can be administered.

.... medication[x]:medicationCodeableConcept Σ1..1CodeableConceptWhat medication was supplied 医薬品
Binding: JP Core MedicationCode ValueSet (preferred): 処方する製剤を表すコード。

... subject Σ1..1Reference(JP Core Patient Profile)Who received medication 投与対象患者
... context 0..1Reference(JP Core Encounter Profile | EpisodeOfCare)Encounter or Episode of Care administered as part of Encounter、または一部として実施されるケアエピソード
... supportingInformation 0..*Reference(Resource)Additional information to support administration 投与をサポートする追加情報
... effective[x] Σ1..1Start and end time of administration 開始時間と終了時間
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... performer Σ0..*BackboneElementWho performed the medication administration and what they did 投薬を実施した人
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function 0..1CodeableConceptType of performance
Binding: MedicationAdministration Performer Function Codes (example): A code describing the role an individual played in administering the medication.

.... actor Σ1..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Patient Profile | RelatedPerson | Device)Who performed the medication administration
... reasonCode 0..*CodeableConceptReason administration performed 投薬が実施された理由
Binding: ReasonMedicationGivenCodes (example): A set of codes indicating the reason why the MedicationAdministration was made.


... reasonReference 0..*Reference(JP Core Condition Profile | JP Core Observation Common Profile | JP Core DiagnosticReport Common Profile)Condition or observation that supports why the medication was administered 薬が投与された理由を裏付ける状態または観察
... request 0..1Reference(MedicationRequest)Request administration performed against 実施された元の投与依頼情報
... device 0..*Reference(Device)Device used to administer 投与に使用されるデバイス
... note 0..*AnnotationInformation about the administration 投与に関する備考情報
... dosage C0..1BackboneElementDetails of how medication was taken 薬の服用方法の詳細
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... text 0..1stringFree text dosage instructions e.g. SIG フリーテキストの投与方法の説明 SIG:用法
.... site 0..1CodeableConceptBody site administered to 投与部位
Binding: JP Core Medication JAMI External Body Site ValueSet (preferred)
.... route 0..1CodeableConceptPath of substance into body 体への投与経路
Binding: JP Core Medication HL70162-based Route ValueSet (preferred)
.... method 0..1CodeableConcept投与方法
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... Slices for coding Σ0..*CodingCode defined by a terminology system
Slice: Unordered, Open by value:system
...... coding:unitDigit1 Σ0..1Coding投与⽅法に対応するJAMI 用法コード表基本用法1桁コード
Binding: JP Core Medication JAMI Basic Usage Type ValueSet (preferred)
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.392.200250.2.2.20.30
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
...... coding:unitDigit2 Σ0..1Coding投与⽅法に対応するJAMI 用法コード表基本用法2桁コード
Binding: JP Core Medication JAMI Detail Usage ValueSet (preferred)
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ1..1uriIdentity of the terminology system
Fixed Value: urn:oid:1.2.392.200250.2.2.20.40
....... version Σ0..1stringVersion of the system - if relevant
....... code Σ0..1codeSymbol in syntax defined by the system
....... display Σ0..1stringRepresentation defined by the system
....... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1string投与⽅法のテキスト表現
.... dose C0..1JP_MedicationSimpleQuantityAmount of medication per dose 用量あたりの投薬量
.... Slices for rate[x] 0..1Dose quantity per unit of time 単位時間あたりの用量
Slice: Unordered, Closed by type:$this
..... rateRatioRatio
..... rateQuantityQuantity(SimpleQuantity)
..... rate[x]:rateRatio C0..1JP_MedicationRatio_DosePerPeriod単位時間内での薬剤の容量
..... rate[x]:rateQuantity C0..1SimpleQuantity投与速度(量/時間)を指定する
... eventHistory 0..*Reference(Provenance)A list of events of interest in the lifecycle ライフサイクルで関心のあるイベントのリスト

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationAdministration.languagepreferredCommonLanguages
Max Binding: AllLanguages
MedicationAdministration.identifier:rpNumber.userequiredIdentifierUse
MedicationAdministration.identifier:rpNumber.typeextensibleIdentifier Type Codes
MedicationAdministration.identifier:requestIdentifier.userequiredIdentifierUse
MedicationAdministration.identifier:requestIdentifier.typeextensibleIdentifier Type Codes
MedicationAdministration.identifier:orderInRp.userequiredIdentifierUse
MedicationAdministration.identifier:orderInRp.typeextensibleIdentifier Type Codes
MedicationAdministration.statusrequiredMedicationAdministration Status Codes
MedicationAdministration.statusReasonexampleSNOMEDCTReasonMedicationNotGivenCodes
MedicationAdministration.categorypreferredMedicationAdministration Category Codes
MedicationAdministration.medication[x]exampleSNOMEDCTMedicationCodes
MedicationAdministration.medication[x]:medicationCodeableConceptpreferredJP_MedicationCode_VS
MedicationAdministration.performer.functionexampleMedicationAdministration Performer Function Codes
MedicationAdministration.reasonCodeexampleReasonMedicationGivenCodes
MedicationAdministration.dosage.sitepreferredJP_MedicationBodySiteJAMIExternal_VS
MedicationAdministration.dosage.routepreferredJP_MedicationRouteHL70162_VS
MedicationAdministration.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
MedicationAdministration.dosage.method.coding:unitDigit1preferredJP_MedicationMethodJAMIBasicUsage_VS
MedicationAdministration.dosage.method.coding:unitDigit2preferredJP_MedicationMethodJAMIDetailUsage_VS

Constraints

IdGradePathDetailsRequirements
dom-2errorMedicationAdministrationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationAdministrationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationAdministrationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeMedicationAdministrationA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorMedicationAdministration.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.extension:requestDepartmentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extension:requestDepartmentMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.extension:requestAuthoredOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extension:requestAuthoredOnMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.extension:locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extension:locationMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.extension:requesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.extension:requesterMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.identifier:rpNumber.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.identifier:rpNumber.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:rpNumber.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.identifier:requestIdentifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.identifier:requestIdentifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:requestIdentifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRpAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.identifier:orderInRp.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.identifier:orderInRp.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.identifier:orderInRp.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.instantiatesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.medication[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.medication[x]:medicationCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.contextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.supportingInformationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.performer.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.performer.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.performer.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.performer.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.performer.functionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.performer.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.requestAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.deviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
mad-1errorMedicationAdministration.dosageSHALL have at least one of dosage.dose or dosage.rate[x]
: dose.exists() or rate.exists()
ele-1errorMedicationAdministration.dosage.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.siteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.routeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.method.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.method.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.method.coding:unitDigit1.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit1.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationAdministration.dosage.method.coding:unitDigit2.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.coding:unitDigit2.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.method.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.doseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorMedicationAdministration.dosage.doseIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorMedicationAdministration.dosage.doseThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorMedicationAdministration.dosage.rate[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationAdministration.dosage.rate[x]:rateRatioAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
rat-1errorMedicationAdministration.dosage.rate[x]:rateRatioNumerator and denominator SHALL both be present, or both are absent. If both are absent, there SHALL be some extension present
: (numerator.empty() xor denominator.exists()) and (numerator.exists() or extension.exists())
ele-1errorMedicationAdministration.dosage.rate[x]:rateQuantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorMedicationAdministration.dosage.rate[x]:rateQuantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorMedicationAdministration.dosage.rate[x]:rateQuantityThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorMedicationAdministration.eventHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

 

Other representations of profile: CSV, Excel, Schematron

必須要素

次のデータ項目は必須(データが存在しなければならない)である。

MedicationAdministration リソースは、次の要素を持たなければならない。

  • status : ステータスは必須であり、JP Coreでは completed or stopped に限定される
  • medicationCodeableConcept : 医薬品の識別情報は必須であり、medicationCodeableConcept.coding.system, medicationCodeableConcept.coding.code, medicationCodeableConcept.coding.display が必ず存在しなければならない
  • subject :患者の参照情報は必須であり、subject.reference ないし subject.identifier が必ず存在しなければならない
  • effectiveDateTime : 投与実施日時であり、JP Coreでは必須である

※投与実施のユースケースにおいては、実施投与量(dose)が必須であることが望ましいが、ワーキンググループでの検討の結果、投与中止のユースケースも考慮して必須としない結論となった。

Extensions定義

JP Core MedicationAdministration プロファイルで使用される拡張は次の通りである。

依頼科 依頼科を格納するための拡張 JP_MedicationAdministration_RequestDepartment CodeableConcept
依頼日時 依頼日時を格納するための拡張 JP_MedicationAdministration_RequestAuthoredOn DateTime
実施場所 実施場所を格納するための拡張 JP_MedicationAdministration_Location Reference(Location)
依頼医 依頼医を格納するための拡張 JP_MedicationAdministration_Requester Reference(Practitioner)

用語定義

HL7 FHIRの基底規格では、薬剤コードをはじめとして、剤形などでSNOMED CTが使われているが、日本ではライセンスの問題もあり普及していない。代替としてJAHIS処方データ交換規約やSS-MIX2で使われている用語集を採用した。

HL7 V2系では用語集を識別するコーディングシステム名(以下、「CS名」)は文字列であったが、FHIRではURIを指定する必要があるため、それぞれにURIを割り当てた。以下に使用する用語集のCS名とURI表記を列記する。

分類 CS名 URI
医薬品 HOT7 urn:oid:1.2.392.200119.4.403.2
医薬品 HOT9 urn:oid:1.2.392.200119.4.403.1
医薬品 HOT13 urn:oid:1.2.392.200119.4.402.1
医薬品 YJコード urn:oid:1.2.392.100495.20.1.73
医薬品 ⼀般処⽅名マスター urn:oid:1.2.392.100495.20.1.81
薬品単位 MERIT-9(単位) urn:oid:1.2.392.100495.20.2.101
力価区分 処方情報 HL7FHIR 記述仕様(力価区分) urn:oid:1.2.392.100495.20.2.22
用法 JAMI処方・注射オーダ標準用法規格(用法コード) urn:oid:1.2.392.200250.2.2.20.20
用法 JAMI処方・注射オーダ標準用法規格(補足用法コード) urn:oid:1.2.392.200250.2.2.20.22
部位 JAMI処方・注射オーダ標準用法規格(部位コード) urn:oid:1.2.392.200250.2.2.20.32
投与方法 JAMI処方・注射オーダ標準用法規格(基本用法区分) urn:oid:1.2.392.200250.2.2.20.30
入外区分 HL7V2(HL7表0482) http://terminology.hl7.org/CodeSystem/v2-0482

項目の追加

MedicationAdministrationリソースでは、依頼元のMedicationRequestリソースをrequest要素にReferenceで参照できるようになっているが、 依頼元のMedicationRequestリソースが取得できないケースも考慮して、依頼情報を直接記述できるように以下の項目を追加した。

  • 依頼科の追加(拡張「JP_MedicationAdministration_RequestDepartment」を使用)
  • 依頼医の追加(拡張「JP_MedicationAdministration_Requester」を使用)
  • 依頼日時の追加(拡張「JP_MedicationAdministration_RequestAuthoredOn」を使用)

また、投薬実施場所(病棟、病室、ベッド番号など)を記述できるように以下の項目を追加した。

  • 実施場所の追加(拡張「JP_MedicationAdministration_Location」を使用)

利用方法

Search Parameter一覧

コンフォーマンス パラメータ
SHALL identifier token GET [base]/MedicationAdministration?identifier=http://myhospital.com/fhir/medication|1234567890
SHOULD patient reference GET [base]/MedicationAdministration?patient=123456
SHOULD patient,effective-time reference,date GET [base]/MedicationAdministration?patient=123456&effective-time=eq2013-01-14
MAY effective-time,code,performer,request date,token,reference,reference GET [base]/MedicationAdministration?code=urn:oid:1.2.392.200119.4.403.1|105271807
必須検索パラメータ

次の検索パラメータは必須でサポートされなければならない。

  1. identifier 検索パラメータを使用して、オーダIDなどの識別子によるMedicationAdministrationの検索をサポートしなければならない(SHALL)

    GET [base]/MedicationAdministration?identifier={system|}[code]
    

    例:

    GET [base]/MedicationAdministration?identifier=http://myhospital.com/fhir/medication|1234567890
    

    指定された識別子に一致するMedicationAdministrationリソースを含むBundleを検索する。

推奨検索パラメータ

次の検索パラメータをサポートすることが望ましい。

  1. patient 検索パラメータを使用して、患者のリファレンス情報によるMedicationAdministrationの検索をサポートすることが望ましい(SHOULD

    GET [base]/MedicationAdministration?patient=[id]
    GET [base]/MedicationAdministration?patient=[url]
    

    例:

    GET [base]/MedicationAdministration?patient=123456
    

    リソースIDが123456の患者のMedicationAdministrationリソースを含むBundleを検索する。

  2. patient,effective-time 検索パラメータを使用して、患者のリファレンス情報と払い出し日によるMedicationAdministrationの検索をサポートすることが望ましい(SHOULD

    GET [base]/MedicationAdministration?patient=[id]&effective-time=[date]
    GET [base]/MedicationAdministration?patient=[url]&effective-time=[date]
    

    例:

    GET [base]/MedicationAdministration?patient=123456&effective-time=eq2013-01-14
    

    リソースIDが123456の患者の2013-01-14に投与実施されたMedicationAdministrationリソースを含むBundleを検索する。

追加検索パラメータ

追加検索パラメータは定義しない。

Operation一覧

JP MedicationAdministration リソースに対して使用される操作は次の通りである。

  • $everything:[base]/MedicationAdministration/[id]/$everything

    • この操作が呼び出された特定のMedicationAdministrationに関連する全ての情報を返す

Operation 詳細

$everything 操作

この操作は、この操作が呼び出された特定のMedicationAdministrationリソースに関連する全ての情報を返す。応答は “searchset” タイプのBundleリソースである。サーバは、少なくとも、識別されたMedicationAdministrationコンパートメントに含まれる全てのリソースと、それらから参照されるすべてのリソースを返すことが望ましい。

この操作の公式なURLは以下である。

http://hl7.jp/fhir/OperationDefinition/MedicationAdministration-everything

URL: [base]/MedicationAdministration/[id]/$everything

本操作は、べき等な操作である。

入力パラメータ
名前 多重度 説明
start 0..1 date 特定の日付範囲で提供されたケアに関連する全ての記録を意味する。開始日が指定されていない場合、終了日以前のすべてのレコードが対象に含まれる。
end 0..1 date 特定の日付範囲で提供されたケアに関連する全ての記録を意味する。終了日が指定されていない場合、開始日以降のすべてのレコードが対象に含まれる。
_since 0..1 instant 指定された日時以降に更新されたリソースのみが応答に含まれる。
_type 0..* code 応答に含むFHIRリソース型を、カンマ区切りで指定する。指定されない場合は、サーバは全てのリソース型を対象とする。
_count 0..1 integer Bundleの1ページに含まれるリソース件数を指定。
出力パラメータ
名前 多重度 説明
return 1..1 Bundle バンドルのタイプは”searchset”である。この操作の結果は、リソースとして直接返される。

リクエスト:単一のMedicationAdministrationに関連する全てのリソースを取得する。

GET [base]/MedicationAdministration/1234567890/$everything
[some headers]

レスポンス:指定されたMedicationAdministrationに関連する全てのリソースを返す。

HTTP/1.1 200 OK
[other headers]

{
  "resourceType": "Bundle",
  "id": "example",
  "meta": {
    "lastUpdated": "2014-08-18T01:43:33Z"
  },
  "type": "searchset",
  "entry": [
    {
      "fullUrl": "http://example.org/fhir/MedicationAdministration/1234567890",
      "resource": {
        "resourceType": "MedicationAdministration",

          ・・・

       },
    }
  ]
}  

サンプル

JAHIS処方データ交換規約 Ver.3.0Cの137ページに記載されている下記の処方実施をFHIRで表現する場合のサンプルを示す。

注意事項

記述の単位について

MedicationAdministrationは薬剤をCodeableConceptとして1つまでしか持つか、Medication Resourceのreferenceをもつことしかできない。 したがって、複数の薬剤を同一のRp番号で表現する場合にはMedicationAdministrationを繰り返すか、複数の薬剤をまとめたMedication Resourceのインスタンスを参照することとなる。 ワーキンググループでの検討の結果、冗長とはなるがidentifierにRp番号と薬剤番号を記録することとし、MedicationAdministrationを繰り返すことで表現する方法を推奨することとした。

基本的にはMedicationRequestに対応したMedicationAdministrationインスタンスを生成する。 ただし、内服薬剤処方のMedicationRequestは複数回、複数日の服薬タイミングをまとめて1つのインスタンスで記述するが、MedicationAdministrationは1回の服薬単位の粒度でインスタンスを生成する必要がある。 例えば、MedicationRequestの用法、投与日数が「1日3回 朝昼夕食後 14日分」の場合、3 x 14 = 42 (x 薬剤数) の処方実施情報インスタンスが生成される。

投与実施の記述方法

投薬管理ステータス

投与が実施された場合、status要素に completed を記述する。

"status": "completed"

実施日

投与が実施された日時をeffectiveDateTime or effectivePeriod要素にRFC3339形式で記述する。 タイムゾーンはJST(+09:00)を指定する。

開始日時、終了日時が明確である場合はeffectivePeriodに記述する。

"effectivePeriod": {
  "start": "2016-07-01T08:05:21+09:00",
  "end": "2016-07-01T13:05:43+09:00"
}

開始日時しか存在せず終了日時が明確でない場合、effectivePeriodのstartとendに同じ値を記述するか、effectiveDateTime要素に記述する。

"effectiveDateTime": "2016-08-25T08:30:00+09:00"

実施者

投与を実施した医療従事者(自己管理の場合は患者)をperformer要素に記述する。

performer.functionには、FHIR標準のValueSetである http://terminology.hl7.org/CodeSystem/med-admin-perform-function から、実施者を表す performer を固定で記述する。 performer.actorには、医療従事者(Practitioner)、または患者(Patient)リソースの参照を記述する。

"performer": [
  {
    "function": {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/med-admin-perform-function",
          "code": "performer",
          "display": "Performer"
        }
      ]
    },
    "actor": {
      "reference": "Practitioner/1",
      "display": "看護師 夏子"
    }
  }
]

実施場所

投与を実施した場所(病棟、病室、ベッド番号など)を、拡張「JP_MedicationAdministrationLocation」を使用して、Reference型でLocationリソースの参照情報を記述する。 (Location Resourceの記述仕様については、当プロファイルのスコープ外とする)

"extension": [
  {
    "url": "http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministrationLocation",
    "valueReference": {
      "reference": "Location/1"
    }
  }
]

実施情報

「1:内服」、「2:外用」などJAMI標準用法コードにて基本用法区分として表現される区分は、dosage.route 要素にコードまたは文字列で指定する。基本用法区分を識別するURIとして、”urn:oid:1.2.392.200250.2.2.20.30”を使用する。

「A:貼付」、「B:塗布」などJAMI標準用法コードにて用法詳細区分として表現される区分は、dosage.method 要素にコードまたは文字列で指定する。 用法詳細区分を識別するURIとして、”urn:oid:1.2.392.200250.2.2.20.40”を使用する。

投与量は dosage.dose に、SimpleQuantity型で記録する。単位コードには、医薬品単位略号(urn:oid:1.2.392.100495.20.2.101)を使用する。

"dosage": {
  "route": {
    "coding": [
      {
        "system": "urn:oid:1.2.392.200250.2.2.20.40",
        "code": "10",
        "display": "経口"
      }
    ]
  },
  "method": {
    "coding": [
      {
        "system": "urn:oid:1.2.392.200250.2.2.20.30",
        "code": "1",
        "display": "内服"
      }
    ]
  },
  "dose": {
    "value": 1,
    "unit": "錠",
    "system": "urn:oid:1.2.392.100495.20.2.101",
    "code": "TAB"
  }
}

投薬依頼情報

実施の元となった投薬依頼(MedicationRequest)リソースの参照を記述する。

"request": {
  "reference": "MedicationRequest/1"
}

依頼科

投薬依頼を行なった診療科を、拡張「JP_MedicationAdministration_RequestDepartment」を使用して、CodeableConcept型で記述する。

{
  "resourceType": "MedicationAdministration",
  "extension": [
    {
      "url": "http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministration_RequestDepartment",
      "valueCodeableConcept": {
        "coding": [
          {
            "system": "urn:oid:1.2.392.100495.20.2.51",
            "code": "01",
            "display": "内科"
          }
        ]
      }
    }
  ]
}

依頼医師

投薬依頼を行なった医師を、拡張「JP_MedicationAdministrationRequester」を使用して、Reference型でPractitionerリソースの参照情報を記述する。 (Practitioner Resourceの記述仕様については、当プロファイルのスコープ外とする)

{
  "resourceType": "MedicationAdministration",
  "extension": [
    {
      "url": "http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministrationRequester",
      "valueReference": {
        "reference": "Practitioner/2"
      }
    }
  ]
}

薬剤処方の各種指示情報の記述方法について

投薬実施の基となった薬剤処方の用法などの情報は、特に記述のない限り JP Core MedicationRequest と同様の記述方法とする。該当する項目としては以下のものがある。

  • RP番号、薬剤番号
  • 処方箋番号(オーダID)
  • 入外区分

依頼日時

投薬依頼を行なった日時を、拡張「JP_MedicationAdministrationRequestAuthoredOn」を使用して、RFC3339形式で記述する。 タイムゾーンはJST(+09:00)を指定する。

{
  "resourceType": "MedicationAdministration",
  "extension": [
    {
      "url": "http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationAdministrationRequestAuthoredOn",
      "valueDateTime": "2016-08-20T09:30:00+09:00"
    }
  ]
}

投与中止の記述方法

投薬管理ステータス

投与が中止された場合、status要素に stopped を記述する。

"status": "stopped"

実施日

投与を実施する予定であった日時をeffectiveDateTime要素にRFC3339形式で記述する。 タイムゾーンはJST(+09:00)を指定する。

"effectiveDateTime": "2016-08-25T08:30:00+09:00"

投薬依頼情報

投与実施と同様

その他、参考文献・リンク等

  1. HL7, FHIR MedicationRequest Resource, https://hl7.org/fhir/R4/medicationrequest.html
  2. 保健医療福祉情報システム工業会, JAHIS 処方データ交換規約 Ver.3.0C, https://www.jahis.jp/standard/detail/id=564
  3. 日本医療情報学会MERIT-9研究会, 医療情報交換規約運用指針、MERIT-9 処方オーダver 1.0, http://merit-9.mi.hama-med.ac.jp/jahis/SHOHOU.pdf
  4. 保健医療福祉情報システム工業会, JAHISデータ交換規約(共通編)Ver.1.1, https://www.jahis.jp/standard/detail/id=125
  5. 保健医療福祉情報システム工業会, JAHIS注射データ交換規約Ver.2.1C, https://www.jahis.jp/standard/detail/id=590
  6. Mike Henderson, 日本HL7協会監修、「HL7メッセージ交換」、第2版、インナービジョン社、2013年
  7. 厚生労働省、保険医療機関及び保険医療養担当規則、平三〇厚労令二〇・一部改正, https://www.mhlw.go.jp/web/t_doc?dataId=84035000&dataType=0&pageNo=1
  8. 一般社団法人医療情報システム開発センター, 医薬品HOT コードマスター, http://www2.medis.or.jp/hcode/
  9. 日本医療情報学会、SS-MIX2仕様書・ガイドライン, http://www.jami.jp/jamistd/ssmix2.php
  10. 保健医療福祉情報システム工業会, JAHIS電子処方箋実装ガイドVer.1.2, https://www.jahis.jp/standard/detail/id=774
  11. 日本医療情報学会, 処方情報 HL7FHIR 記述仕様(2021年10月), https://std.jpfhir.jp/stddoc/ePrescriptionDataFHIR_v1x.pdf