基于FHIR标准的健康档案共享文档实施指南
0.8.0.2022705 - 持续集成版
基于FHIR的健康档案共享文档实施时必须严格遵循本实施指南的规定。
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基础上进行更加详细的规则约束,下表展示了用药声明结构定义的结构表示。
本定义的其它表示法: Schematron
Path | Conformance | ValueSet |
MedicationStatement.language | preferred | CommonLanguages Max Binding: AllLanguages |
MedicationStatement.status | required | Medication Status Codes |
MedicationStatement.statusReason | example | SNOMEDCTDrugTherapyStatusCodes |
MedicationStatement.category | preferred | Medication usage category codes |
MedicationStatement.medication[x] | example | SNOMEDCTMedicationCodes |
MedicationStatement.medication[x]:medicationCodeableConcept | example | SNOMEDCTMedicationCodes |
MedicationStatement.reasonCode | example | Condition/Problem/DiagnosisCodes |
MedicationStatement.dosage.additionalInstruction | example | SNOMEDCTAdditionalDosageInstructions |
MedicationStatement.dosage.asNeeded[x] | example | SNOMEDCTMedicationAsNeededReasonCodes |
MedicationStatement.dosage.site | example | SNOMEDCTAnatomicalStructureForAdministrationSiteCodes |
MedicationStatement.dosage.route | example | SNOMEDCTRouteCodes |
MedicationStatement.dosage.method | example | SNOMEDCTAdministrationMethodCodes |
MedicationStatement.dosage.doseAndRate.type | example | DoseAndRateType |
Id | Path | Details | Requirements |
dom-2 | MedicationStatement | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | MedicationStatement | If 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-4 | MedicationStatement | If 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-5 | MedicationStatement | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | MedicationStatement | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | MedicationStatement.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MedicationStatement.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MedicationStatement.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MedicationStatement.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MedicationStatement.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.basedOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.partOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.medication[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.medication[x]:medicationCodeableConcept | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.context | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.effective[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dateAsserted | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.informationSource | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.derivedFrom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.reasonCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.reasonReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MedicationStatement.dosage.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MedicationStatement.dosage.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MedicationStatement.dosage.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MedicationStatement.dosage.sequence | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.additionalInstruction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.patientInstruction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.timing | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.asNeeded[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.site | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.route | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.doseAndRate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.doseAndRate.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MedicationStatement.dosage.doseAndRate.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MedicationStatement.dosage.doseAndRate.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.doseAndRate.dose[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.doseAndRate.rate[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.maxDosePerPeriod | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.maxDosePerAdministration | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MedicationStatement.dosage.maxDosePerLifetime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |