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

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

JP_MedicationDispense

Title

JP Core MedicationDispense Profile

Status Active ( 2022-09-26 )
Copyright

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

このプロファイルはMedicationDispenseリソースに対して、内服・外用薬剤処方調剤・払い出し記録のデータを送受信するための基礎となる制約と拡張を定めたものである。JP_MedicationDispenseBaseプロファイルからの派生プロファイルである。


本プロファイルは内服、外用の薬剤処方の調剤情報をMedicationDispenseリソースを使用して表現する。薬剤処方は指示する項目、使用する用語集、プロセスなどにおいて諸外国と日本では異なっており、日本国内で規格を運用するためにExtensionの追加や用語集の追加・変更を行った。現在、日本での処方関連規格として利用されているJAHIS 処方データ交換規約 Ver 3.0C、JAHIS電子版お薬手帳データフォーマット仕様書Ver.2.4を参考にした。 以下、本プロファイルのMedicationDispenseリソースを「JP Core MedicationDispenseリソース」と呼ぶ。

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

背景および想定シナリオ

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

  • 医療機関内の薬剤部門システムや調剤薬局のシステムから特定の患者の処方調剤情報を検索する
  • 地域連携システムにおいて投薬情報を電子的に情報交換する

スコープ

対象

本プロファイルの対象は内服、外用の一般的な薬剤処方の調剤情報を電子的に連携するためのメッセージを記述することである。

対象としないこと

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

また、本プロファイルのMedicationDispenseリソースは薬剤の調剤に関するものであり、指示(オーダ)、内服確認や実施記録は対象としない。それぞれ、MedicationRequest, MedicationAdministrationが対応するリソースである。

プロファイル定義

Usage:

プロファイル詳細

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

This structure is derived from JP_MedicationDispenseBase

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 MedicationDispense.medication[x] is sliced based on the value of type:$this
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..*JP_MedicationDispenseBase指定された患者への薬剤の払い出し
... 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..1CodeableConceptコード集で定義された医薬品コード
Binding: JP Core MedicationCode ValueSet (preferred): 処方する製剤を表すコード。

... dosageInstruction 0..*JP_MedicationDosage薬の服用方法・服用した方法、または服用すべき方法

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*JP_MedicationDispenseBase指定された患者への薬剤の払い出し
... 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
... preparation 0..*CodeableConcept調剤結果
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationDispense_Preparation
Binding: JP Core Medication JHSP0002 Instruction For Dispense ValueSet (example)
... 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)
... partOf 0..*Reference(JP Core Procedure Profile)Event that dispense is part of 親イベントへの参照
... status ?!Σ1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown 一連の調剤イベントの状態
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.

... statusReason[x] 0..1Why a dispense was not performed 調剤が実行されなかった理由
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.

.... statusReasonCodeableConceptCodeableConcept
.... statusReasonReferenceReference(DetectedIssue)
... category 0..1CodeableConceptType of medication dispense 調剤タイプ
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.

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

.... medication[x]:medicationCodeableConcept Σ1..1CodeableConceptコード集で定義された医薬品コード
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 / Episode associated with event 調剤ベントに関連するEncounterやエピソード
... supportingInformation 0..*Reference(Resource)Information that supports the dispensing of the medication 薬の調剤をサポートする情報
... performer 0..*BackboneElementWho performed event 調剤を実施した人
.... 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..1CodeableConceptWho performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor 1..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | JP Core Patient Profile | Device | RelatedPerson)Individual who was performing
... location 0..1Reference(JP Core Location Profile)Where the dispense occurred 調剤実施場所
... authorizingPrescription 0..*Reference(JP Core MedicationRequestBase Profile)Medication order that authorizes the dispense 調剤を正当化する元の処方オーダ
... type 0..1CodeableConcept実行される調剤イベント
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

... quantity C1..1JP_MedicationSimpleQuantityTrial fill, partial fill, emergency fill, etc. 払い出される薬剤の量
... daysSupply C0..1JP_MedicationSimpleQuantityAmount of medication expressed as a timing amount  タイミングとして表される投薬量
... whenPrepared Σ0..1dateTimeWhen product was packaged and reviewed 調剤がパッケージ化され、レビューされた日時
... whenHandedOver 1..1dateTimeMedication order that authorizes the dispense 払い出された日時
... destination 0..1Reference(JP Core Location Profile)Where the medication was sent 薬が送られた場所
... receiver 0..*Reference(JP Core Patient Profile | JP Core Practitioner Profile)Who collected the medication  薬を受け取った人
... note 0..*AnnotationInformation about the dispense 調剤に関する備考
... dosageInstruction 0..*JP_MedicationDosage薬の服用方法・服用した方法、または服用すべき方法
... substitution 0..1BackboneElementWhether a substitution was performed on the dispense 調剤で置換が実行されたかどうか
.... 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
.... wasSubstituted 1..1booleanWhether a substitution was or was not performed on the dispense 調剤で置換が実行されたか、あるいはされていないかを'true'または'false'で表す
.... type 0..1CodeableConceptCode signifying whether a different drug was dispensed from what was prescribed 処方されたものとは異なる薬が調剤されたかどうかを示すコード
Binding: ActSubstanceAdminSubstitutionCode (example): A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription.

.... reason 0..*CodeableConceptWhy was substitution made 置換が実施された理由
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.


.... responsibleParty 0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)Who is responsible for the substitution 置換責任者
... detectedIssue 0..*Reference(DetectedIssue)Clinical issue with action アクションを伴う臨床的問題
... eventHistory 0..*Reference(Provenance)A list of relevant lifecycle events 関連するライフサイクルイベントのリスト

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationDispense.languagepreferredCommonLanguages
Max Binding: AllLanguages
MedicationDispense.identifier:rpNumber.userequiredIdentifierUse
MedicationDispense.identifier:rpNumber.typeextensibleIdentifier Type Codes
MedicationDispense.identifier:requestIdentifier.userequiredIdentifierUse
MedicationDispense.identifier:requestIdentifier.typeextensibleIdentifier Type Codes
MedicationDispense.identifier:orderInRp.userequiredIdentifierUse
MedicationDispense.identifier:orderInRp.typeextensibleIdentifier Type Codes
MedicationDispense.statusrequiredMedicationDispense Status Codes
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
MedicationDispense.categorypreferredMedicationDispense Category Codes
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
MedicationDispense.medication[x]:medicationCodeableConceptpreferredJP_MedicationCode_VS
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
MedicationDispense.typeexampleActPharmacySupplyType
MedicationDispense.substitution.typeexampleActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason

Constraints

IdGradePathDetailsRequirements
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf 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-4errorMedicationDispenseIf 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-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
ele-1errorMedicationDispense.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.extension:preparationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.extension:preparationMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.identifier:rpNumber.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.identifier:rpNumber.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.identifier:requestIdentifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.identifier:requestIdentifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRpAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.identifier:orderInRp.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.identifier:orderInRp.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.statusReason[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.medication[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.medication[x]:medicationCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.contextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.supportingInformationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.performer.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.performer.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.performer.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.performer.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.performer.functionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.performer.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.authorizingPrescriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.quantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorMedicationDispense.quantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorMedicationDispense.quantityThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorMedicationDispense.daysSupplyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorMedicationDispense.daysSupplyIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorMedicationDispense.daysSupplyThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorMedicationDispense.whenPreparedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.whenHandedOverAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.destinationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.receiverAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.dosageInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitutionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitution.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.substitution.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.substitution.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.substitution.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.substitution.wasSubstitutedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitution.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitution.reasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitution.responsiblePartyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.detectedIssueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.eventHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

This structure is derived from JP_MedicationDispenseBase

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 MedicationDispense.medication[x] is sliced based on the value of type:$this

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense 0..*JP_MedicationDispenseBase指定された患者への薬剤の払い出し
... 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..1CodeableConceptコード集で定義された医薬品コード
Binding: JP Core MedicationCode ValueSet (preferred): 処方する製剤を表すコード。

... dosageInstruction 0..*JP_MedicationDosage薬の服用方法・服用した方法、または服用すべき方法

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationDispense C0..*JP_MedicationDispenseBase指定された患者への薬剤の払い出し
... 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
... preparation 0..*CodeableConcept調剤結果
URL: http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationDispense_Preparation
Binding: JP Core Medication JHSP0002 Instruction For Dispense ValueSet (example)
... 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)
... partOf 0..*Reference(JP Core Procedure Profile)Event that dispense is part of 親イベントへの参照
... status ?!Σ1..1codepreparation | in-progress | cancelled | on-hold | completed | entered-in-error | stopped | unknown 一連の調剤イベントの状態
Binding: MedicationDispense Status Codes (required): A coded concept specifying the state of the dispense event.

... statusReason[x] 0..1Why a dispense was not performed 調剤が実行されなかった理由
Binding: MedicationDispense Status Reason Codes (example): A code describing why a dispense was not performed.

.... statusReasonCodeableConceptCodeableConcept
.... statusReasonReferenceReference(DetectedIssue)
... category 0..1CodeableConceptType of medication dispense 調剤タイプ
Binding: MedicationDispense Category Codes (preferred): A code describing where the dispensed medication is expected to be consumed or administered.

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

.... medication[x]:medicationCodeableConcept Σ1..1CodeableConceptコード集で定義された医薬品コード
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 / Episode associated with event 調剤ベントに関連するEncounterやエピソード
... supportingInformation 0..*Reference(Resource)Information that supports the dispensing of the medication 薬の調剤をサポートする情報
... performer 0..*BackboneElementWho performed event 調剤を実施した人
.... 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..1CodeableConceptWho performed the dispense and what they did
Binding: MedicationDispense Performer Function Codes (example): A code describing the role an individual played in dispensing a medication.

.... actor 1..1Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | JP Core Patient Profile | Device | RelatedPerson)Individual who was performing
... location 0..1Reference(JP Core Location Profile)Where the dispense occurred 調剤実施場所
... authorizingPrescription 0..*Reference(JP Core MedicationRequestBase Profile)Medication order that authorizes the dispense 調剤を正当化する元の処方オーダ
... type 0..1CodeableConcept実行される調剤イベント
Binding: ActPharmacySupplyType (example): Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.

... quantity C1..1JP_MedicationSimpleQuantityTrial fill, partial fill, emergency fill, etc. 払い出される薬剤の量
... daysSupply C0..1JP_MedicationSimpleQuantityAmount of medication expressed as a timing amount  タイミングとして表される投薬量
... whenPrepared Σ0..1dateTimeWhen product was packaged and reviewed 調剤がパッケージ化され、レビューされた日時
... whenHandedOver 1..1dateTimeMedication order that authorizes the dispense 払い出された日時
... destination 0..1Reference(JP Core Location Profile)Where the medication was sent 薬が送られた場所
... receiver 0..*Reference(JP Core Patient Profile | JP Core Practitioner Profile)Who collected the medication  薬を受け取った人
... note 0..*AnnotationInformation about the dispense 調剤に関する備考
... dosageInstruction 0..*JP_MedicationDosage薬の服用方法・服用した方法、または服用すべき方法
... substitution 0..1BackboneElementWhether a substitution was performed on the dispense 調剤で置換が実行されたかどうか
.... 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
.... wasSubstituted 1..1booleanWhether a substitution was or was not performed on the dispense 調剤で置換が実行されたか、あるいはされていないかを'true'または'false'で表す
.... type 0..1CodeableConceptCode signifying whether a different drug was dispensed from what was prescribed 処方されたものとは異なる薬が調剤されたかどうかを示すコード
Binding: ActSubstanceAdminSubstitutionCode (example): A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription.

.... reason 0..*CodeableConceptWhy was substitution made 置換が実施された理由
Binding: SubstanceAdminSubstitutionReason (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.


.... responsibleParty 0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile)Who is responsible for the substitution 置換責任者
... detectedIssue 0..*Reference(DetectedIssue)Clinical issue with action アクションを伴う臨床的問題
... eventHistory 0..*Reference(Provenance)A list of relevant lifecycle events 関連するライフサイクルイベントのリスト

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
MedicationDispense.languagepreferredCommonLanguages
Max Binding: AllLanguages
MedicationDispense.identifier:rpNumber.userequiredIdentifierUse
MedicationDispense.identifier:rpNumber.typeextensibleIdentifier Type Codes
MedicationDispense.identifier:requestIdentifier.userequiredIdentifierUse
MedicationDispense.identifier:requestIdentifier.typeextensibleIdentifier Type Codes
MedicationDispense.identifier:orderInRp.userequiredIdentifierUse
MedicationDispense.identifier:orderInRp.typeextensibleIdentifier Type Codes
MedicationDispense.statusrequiredMedicationDispense Status Codes
MedicationDispense.statusReason[x]exampleMedicationDispense Status Reason Codes
MedicationDispense.categorypreferredMedicationDispense Category Codes
MedicationDispense.medication[x]exampleSNOMEDCTMedicationCodes
MedicationDispense.medication[x]:medicationCodeableConceptpreferredJP_MedicationCode_VS
MedicationDispense.performer.functionexampleMedicationDispense Performer Function Codes
MedicationDispense.typeexampleActPharmacySupplyType
MedicationDispense.substitution.typeexampleActSubstanceAdminSubstitutionCode
MedicationDispense.substitution.reasonexampleSubstanceAdminSubstitutionReason

Constraints

IdGradePathDetailsRequirements
dom-2errorMedicationDispenseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationDispenseIf 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-4errorMedicationDispenseIf 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-5errorMedicationDispenseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeMedicationDispenseA resource should have narrative for robust management
: text.`div`.exists()
mdd-1errorMedicationDispensewhenHandedOver cannot be before whenPrepared
: whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared
ele-1errorMedicationDispense.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.extension:preparationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.extension:preparationMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.identifier:rpNumber.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.identifier:rpNumber.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:rpNumber.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.identifier:requestIdentifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.identifier:requestIdentifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:requestIdentifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRpAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.identifier:orderInRp.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.identifier:orderInRp.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.identifier:orderInRp.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.statusReason[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.medication[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.medication[x]:medicationCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.contextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.supportingInformationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.performer.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.performer.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.performer.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.performer.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.performer.functionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.performer.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.authorizingPrescriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.quantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorMedicationDispense.quantityIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorMedicationDispense.quantityThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorMedicationDispense.daysSupplyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
qty-3errorMedicationDispense.daysSupplyIf a code for the unit is present, the system SHALL also be present
: code.empty() or system.exists()
sqty-1errorMedicationDispense.daysSupplyThe comparator is not used on a SimpleQuantity
: comparator.empty()
ele-1errorMedicationDispense.whenPreparedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.whenHandedOverAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.destinationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.receiverAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.dosageInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitutionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitution.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.substitution.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.substitution.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorMedicationDispense.substitution.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorMedicationDispense.substitution.wasSubstitutedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitution.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitution.reasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.substitution.responsiblePartyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.detectedIssueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorMedicationDispense.eventHistoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

 

Other representations of profile: CSV, Excel, Schematron

必須要素

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

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

  • status : ステータスは必須である
  • medicationCodeableConcept : 医薬品の識別情報は必須であり、medicationCodeableConcept.coding.system, medicationCodeableConcept.coding.code, medicationCodeableConcept.coding.display が必ず存在しなければならない
  • subject :患者の参照情報は必須であり、subject.referenceないしsubject.identifierが必ず存在しなければならない
  • whenHandedOver : 払い出し日時であり、JP Coreでは必須である
  • quantity : 調剤量は必須であり、quantity.value, quantity.unit, quantity.system, quantity.code が必ず存在しなければならない
  • dosageInstruction.text : フリーテキストの用法指示であり、JP Coreでは必須である
  • dosageInstruction.timing : 服用タイミングを記録しJP Coreでは必須である、dosageInstruction.timing.code.coding.code, dosageInstruction.timing.code.coding.system が必ず存在しなければならない

Extensions定義

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

拡張 説明 定義 値型
調剤結果 薬剤単位の調剤結果 JP_MedicationDispense_Preparation CodeableConcept
服用開始日 服用開始日を格納する拡張
《dosageInstruction配下》
JP_MedicationDosage_PeriodOfUse Period
実服用日数 実服用日数を格納する拡張
《dosageInstruction配下》
JP_MedicationDosage_UsageDuration Duration

用語定義

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(剤形) http://jpfhir.jp/fhir/core/CodeSystem/JP_MedicationFormMERIT9_CS
薬品単位 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
投与経路 HL7 V2(使用者定義表0162) http://terminology.hl7.org/CodeSystem/v2-0162
入外区分 HL7V2(HL7表0482) http://terminology.hl7.org/CodeSystem/v2-0482

項目の追加

療養担当則23条では、「保険医は、処方箋を交付する場合には、様式第二号若しくは第二号の二又はこれらに準ずる様式の処方箋に必要な事項を記載しなければならない。」とされており、外来処方、院内処方の区分を明示していない。 したがって、個別のユースケースにおいては一部を省略されることも前提の上で、規格としてはこれに準拠すべきと考え、様式に収載されている以下の項目を追加した。

  • 服用開始日の追加(拡張「JP_MedicationDosage_PeriodOfUse」を使用)
  • 実服用日数の追加(拡張「JP_MedicationDosage_UsageDuration」を使用)
  • 調剤結果の追加(拡張「JP_MedicationDispense_Preparation」を使用)
  • 一日量処方への対応(doseInstruction.doseAndRate.rateRatioを使用)
  • RP番号、薬剤番号の追加(identifierを使用)
  • ⼒価区分の追加(dosageInstruction.doseAndRate.typeを使用)

利用方法

Search Parameter一覧

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

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

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

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

    例:

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

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

推奨検索パラメータ

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

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

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

    例:

    GET [base]/MedicationDispense?patient=123456
    

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

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

    GET [base]/MedicationDispense?patient=[id]&whenhandedover=[date]
    GET [base]/MedicationDispense?patient=[url]&whenhandedover=[date]
    

    例:

    GET [base]/MedicationDispense?patient=123456&whenhandedover=eq2013-01-14
    

    リソースIDが123456の患者の2013-01-14に払い出されたMedicationDispenseリソースを含むBundleを検索する。

追加検索パラメータ

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

Operation一覧

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

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

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

Operation 詳細

$everything 操作

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

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

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

URL: [base]/MedicationDispense/[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”である。この操作の結果は、リソースとして直接返される。

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

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

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

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/MedicationDispense/1234567890",
      "resource": {
        "resourceType": "MedicationDispense",

          ・・・

       },
    }
  ]
}  

サンプル

下記の内容の処方に従って調剤する例をFHIRで表現する場合のサンプルを示す。

注意事項

記述の単位について

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

調剤量の記述方法

調剤量はquantityに、SimpleQuantity型で記録する。単位コードには、投与量と同様に医薬品単位略号(”urn:oid:1.2.392.100495.20.2.101”)を使用する。 調剤日数を記述したい場合は、daysSupply要素にSimpleQuantity方で記述し、単位コードはUCUM(“http://unitsofmeasure.org”)を使用する。

21錠(1日3錠×7日分)を調剤する場合のインスタンス例を以下に示す。

"quantity": {
  "value": 21,
  "unit": "錠",
  "system": "urn:oid:1.2.392.100495.20.2.101",
  "code": "TAB"
},
"daysSupply": {
  "value": 7,
  "unit": "日",
  "system": "http://unitsofmeasure.org",
  "code": "d"
}

力価区分の記述方法

用量は製剤量で記述することを基本とするが、必要に応じて原薬量指定も可能とする。この識別の記述方法は、JP Core MedicationRequestと同様とする。

代替医薬品への変更内容の記述方法

調剤時に行ったジェネリック医薬品などへの変更内容の記述は、substitution.wasSubstituted, substitution.type, substitution.reason を使用する。 変更の種類はデフォルトのコード表(”http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution”)を使用する。 変更の理由はデフォルトのコード表(”http://terminology.hl7.org/CodeSystem/v3-ActReason”)を使用するかフリーテキストで記述する。ローカルのコード表を使用してもよい。

ジェネリック医薬品への変更の場合のインスタンス例を以下に示す。

"substitution" : {
  "wasSubstituted" : true,
  "type" : {
    "coding" : [
      {
        "code" : "G",
        "system" : "http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution",
        "display" : "generic composition"
      }
    ]
  },
  "reason": [
    {
      "coding" : [
        {
          "code" : "RR",
          "system" : "http://terminology.hl7.org/CodeSystem/v3-ActReason",
          "display" : "regulatory requirement"
        }
      ]
    }
  ]
}

払い出し先

調剤された薬剤が払い出された先は、destination要素にReference型でLocationリソースの参照情報を記述する。

"destination" : {
  "reference" : "Location/12A"
}

払い出し日時

調剤された薬剤が払い出された日時は、whenHandedOver要素にdateTime型で記述する。

調剤日時

薬剤が実際に調剤された日時は、whenPrepared要素にdateTime型で記述する。

調剤実施者

調剤を実際に行った医療従事者は、performer.actor要素にReference型でPractitionerリソースの参照情報を記述する。役割に応じて複数の医療従事者を記述できる。

"performer" : [
  {
    "function" : {
      "coding" : [
        {
          "code" : "packager",
          "system" : "http://terminology.hl7.org/CodeSystem/medicationdispense-performer-function",
          "display" : "Packager"
        }
      ]
    },
    "actor" : {
      "reference" : "Practitioner/01234567"
    }
  }
]

調剤結果の記述方法

単一の薬剤に対する調剤結果は、MedicationDispenseに対して定義した拡張「JP_MedicationDispense_Preparation」を使用する。 この拡張は、CodeableConcept型を使用してテキストによる指示とコードによる指示のどちらかを記述することができる。 一つの薬剤に対して、複数の指示を記録する場合には、この拡張を、拡張単位で繰り返して記録する。 調剤結果で使用するコードは、処方情報 HL7FHIR 記述仕様(調剤指示)(“urn:oid:1.2.392.200250.2.2.30.10”)を推奨する。

薬剤単位の調剤結果を表すインスタンス例を示す。

"extension": [
  {
    "url": "http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationDispense_Preparation",
    "valueCodeableConcept": {
      "coding": [
        {
          "code": "C",
          "system": "urn:oid:1.2.392.200250.2.2.30.10",
          "display": "粉砕指示"
        }
      ]
    }
  }, 
  {
    "url": "http://jpfhir.jp/fhir/core/Extension/StructureDefinition/JP_MedicationDispense_Preparation",
    "valueCodeableConcept": {
      "text" : "嚥下障害のため、上記粉砕指示"
    }
  } 
],

疑義照会の内容

調剤時に行った疑義照会の内容は、note要素にAnnotation型で記述する。

調剤時の特記事項(コメントなど)

調剤時の特記事項(コメントなど)も、note要素にAnnotation型で記述する。

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

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

  • 服用期間、実服用日数
  • 服用開始日
  • 1回量と1日量
  • 外用部位
  • RP番号、薬剤番号
  • 処方箋番号(オーダID)
  • 投与方法、投与経路
  • 入外区分
  • 調剤指示以外の薬剤単位、RP単位のコメント
  • 不均等投与
  • 隔日投与、曜日指定投与

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

  1. HL7, FHIR MedicationDispense Resource, https://hl7.org/fhir/R4/MedicationDispense.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. 児玉 義憲、hl7v2-to-fhir, https://github.com/Acedia-Belphegor/hl7v2-to-fhir/
  7. Mike Henderson, 日本HL7協会監修、「HL7メッセージ交換」、第2版、インナービジョン社、2013年
  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