基于FHIR标准的健康档案共享文档实施指南
0.8.0.2022705 - 持续集成版

基于FHIR的健康档案共享文档实施时必须严格遵循本实施指南的规定。

Resource Profile: 用药声明结构定义

Defining URL:http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/profile-medical-use
Version:0.8.0.2022705
Name:MedicationUse
Title:用药声明结构定义
Status:Active as of 2022-07-05T13:46:42+08:00
Definition:

用药声明资源本地化定义。

Publisher:CHIMA&HL7中国委员会
Source Resource:XML / JSON / Turtle

用药声明结构定义的正式唯一标识为:

http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/profile-medical-use

简介

用药声明使用MedicationStatement资源进行表示。该资源的本地化结构定义声明了对适用于健康医疗信息平台中用药声明的最低要求。它确定在使用此资源时应包含哪些核心元素、扩展和术语。

快速实施指导

定义内容的视图

用药声明结构定义是在FHIR标准的MedicationStatement基础上进行更加详细的规则约束,下表展示了用药声明结构定义的结构表示。

关于定义、差异、快照以及如何解读这些表示法

这种结构源自 MedicationStatement

Summary

Mandatory: 6 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

这种结构源自 MedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatement用于记录在过去一段时间内的用药情况说明
... status 1..1code用药声明的状态
... medication[x] 1..1(Slice Definition)What medication was taken
Slice: Unordered, Open by type:$this
... medicationCodeableConcept 1..1CodeableConceptWhat medication was taken
... context 1..1Reference(Encounter | EpisodeOfCare)用药关联的诊疗活动。
... dosage 1..1Dosage用药剂量说明
.... timing 1..1Timing用药频率
.... route 1..1CodeableConcept用药途径
.... method 0..1CodeableConcept用药方法
.... doseAndRate 1..1Element剂量和速率

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatement用于记录在过去一段时间内的用药情况说明
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier
... basedOn Σ0..*Reference(MedicationRequest | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!Σ1..1code用药声明的状态
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.

... statusReason 0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... medication[x] Σ1..1(Slice Definition)What medication was taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medication[x]:medicationCodeableConcept Σ1..1CodeableConceptWhat medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

... subject Σ1..1Reference(患者信息结构定义)患者
... context Σ1..1Reference(Encounter | EpisodeOfCare)用药关联的诊疗活动。
... effective[x] Σ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted Σ0..1dateTimeWhen the statement was asserted?
... informationSource 0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)Person or organization that provided the information about the taking of this medication
... derivedFrom 0..*Reference(Resource)Additional supporting information
... reasonCode 0..*CodeableConceptReason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... dosage 1..1Dosage用药剂量说明
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... sequence Σ0..1integerThe order of the dosage instructions
.... text Σ0..1stringFree text dosage instructions e.g. SIG
.... additionalInstruction Σ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ0..1stringPatient or consumer oriented instructions
.... timing Σ1..1Timing用药频率
.... asNeeded[x] Σ0..1Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBooleanboolean
..... asNeededCodeableConceptCodeableConcept
.... site Σ0..1CodeableConceptBody site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ1..1CodeableConcept用药途径
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ0..1CodeableConcept用药方法
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ1..1Element剂量和速率
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ0..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ0..1Amount of medication per dose
...... doseRangeRange
...... doseQuantityQuantity(SimpleQuantity)
..... rate[x] Σ0..1Amount of medication per unit of time
...... rateRatioRatio
...... rateRangeRange
...... rateQuantityQuantity(SimpleQuantity)
.... maxDosePerPeriod Σ0..1RatioUpper limit on medication per unit of time
.... maxDosePerAdministration Σ0..1SimpleQuantityUpper limit on medication per administration
.... maxDosePerLifetime Σ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format

这种结构源自 MedicationStatement

Summary

Mandatory: 6 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

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

差异视图

这种结构源自 MedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatement用于记录在过去一段时间内的用药情况说明
... status 1..1code用药声明的状态
... medication[x] 1..1(Slice Definition)What medication was taken
Slice: Unordered, Open by type:$this
... medicationCodeableConcept 1..1CodeableConceptWhat medication was taken
... context 1..1Reference(Encounter | EpisodeOfCare)用药关联的诊疗活动。
... dosage 1..1Dosage用药剂量说明
.... timing 1..1Timing用药频率
.... route 1..1CodeableConcept用药途径
.... method 0..1CodeableConcept用药方法
.... doseAndRate 1..1Element剂量和速率

doco Documentation for this format

快照视图

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..*MedicationStatement用于记录在过去一段时间内的用药情况说明
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifier
... basedOn Σ0..*Reference(MedicationRequest | CarePlan | ServiceRequest)Fulfils plan, proposal or order
... partOf Σ0..*Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Observation)Part of referenced event
... status ?!Σ1..1code用药声明的状态
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.

... statusReason 0..*CodeableConceptReason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ0..1CodeableConceptType of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... medication[x] Σ1..1(Slice Definition)What medication was taken
Slice: Unordered, Closed by type:$this
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

.... medication[x]:medicationCodeableConcept Σ1..1CodeableConceptWhat medication was taken
Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying the substance or product being taken.

... subject Σ1..1Reference(患者信息结构定义)患者
... context Σ1..1Reference(Encounter | EpisodeOfCare)用药关联的诊疗活动。
... effective[x] Σ0..1The date/time or interval when the medication is/was/will be taken
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
... dateAsserted Σ0..1dateTimeWhen the statement was asserted?
... informationSource 0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)Person or organization that provided the information about the taking of this medication
... derivedFrom 0..*Reference(Resource)Additional supporting information
... reasonCode 0..*CodeableConceptReason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Condition or observation that supports why the medication is being/was taken
... note 0..*AnnotationFurther information about the statement
... dosage 1..1Dosage用药剂量说明
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... sequence Σ0..1integerThe order of the dosage instructions
.... text Σ0..1stringFree text dosage instructions e.g. SIG
.... additionalInstruction Σ0..*CodeableConceptSupplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ0..1stringPatient or consumer oriented instructions
.... timing Σ1..1Timing用药频率
.... asNeeded[x] Σ0..1Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBooleanboolean
..... asNeededCodeableConceptCodeableConcept
.... site Σ0..1CodeableConceptBody site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ1..1CodeableConcept用药途径
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ0..1CodeableConcept用药方法
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ1..1Element剂量和速率
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ0..1CodeableConceptThe kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ0..1Amount of medication per dose
...... doseRangeRange
...... doseQuantityQuantity(SimpleQuantity)
..... rate[x] Σ0..1Amount of medication per unit of time
...... rateRatioRatio
...... rateRangeRange
...... rateQuantityQuantity(SimpleQuantity)
.... maxDosePerPeriod Σ0..1RatioUpper limit on medication per unit of time
.... maxDosePerAdministration Σ0..1SimpleQuantityUpper limit on medication per administration
.... maxDosePerLifetime Σ0..1SimpleQuantityUpper limit on medication per lifetime of the patient

doco Documentation for this format

 

本定义的其它表示法: Schematron

Terminology Bindings

PathConformanceValueSet
MedicationStatement.languagepreferredCommonLanguages
Max Binding: AllLanguages
MedicationStatement.statusrequiredMedication Status Codes
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
MedicationStatement.categorypreferredMedication usage category codes
MedicationStatement.medication[x]exampleSNOMEDCTMedicationCodes
MedicationStatement.medication[x]:medicationCodeableConceptexampleSNOMEDCTMedicationCodes
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType

Constraints

IdPathDetailsRequirements
dom-2MedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3MedicationStatementIf 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-4MedicationStatementIf 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-5MedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6MedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1MedicationStatement.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.medication[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.medication[x]:medicationCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.contextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dateAssertedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.informationSourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.derivedFromAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.dosage.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.dosage.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.dosage.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.dosage.sequenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.additionalInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.patientInstructionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.timingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.asNeeded[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.siteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.routeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.doseAndRateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.doseAndRate.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MedicationStatement.dosage.doseAndRate.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MedicationStatement.dosage.doseAndRate.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.doseAndRate.dose[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.doseAndRate.rate[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.maxDosePerPeriodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.maxDosePerAdministrationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MedicationStatement.dosage.maxDosePerLifetimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())