HL7中国FHIR Connectathon测试实施指南
V20230304 - release

本指南适用于HL7中国的FHIR Connectathon测试。

Resource Profile: 新型冠状病毒核酸检测报告共享文档本地化定义

Defining URL:http://hl7.org.cn/fhir/StructureDefinition/profile-sars-cov-2-nucleic-acid-test
Version:V20230304
Name:DocumentSarsCov2NucleicAcidTest
Title:新型冠状病毒核酸检测报告共享文档本地化定义
Status:Active as of 2023-03-04T16:13:14+08:00
Definition:

新型冠状病毒核酸检测报告共享文档本地化定义。

Publisher:HL7中国
Source Resource:XML / JSON / Turtle

本定义的正式URL为:

http://hl7.org.cn/fhir/StructureDefinition/profile-sars-cov-2-nucleic-acid-test

简介

核酸检测项目编码有两种形式:

  • Cycle Threshold: 循环数阈值
  • Presence: 存在

形式的不同,决定了核酸检测结果Observation的value取值类型,在本次测评中使用Presence形式,value取值类型为CodeableConcept。

核酸样本类型有很多种,包括:鼻咽拭子、咽拭子、痰标本、唾液标本、血清标本、血浆标本、全血样本、静脉血标本等。

国内一般采用实时荧光RT-PCR方法检测新冠病毒核酸。

国内检测机构所选用的新冠病毒核酸检测试剂主要针对新冠病毒基因组中开放读码框1ab(open reading frame 1ab,ORF1ab)和核衣壳蛋白(nucleocapsid protein,N)基因。

实验室确认阳性病例需满足以下两个条件中的一个:

  • 条件一:同一份标本中新冠病毒2个靶标(ORF1ab、N)实时荧光RT-PCR检测结果均为阳性。如果出现单个靶标阳性的检测结果,则需要重新检测或重新采样复核。
  • 条件二:两种标本实时荧光RT-PCR同时出现单靶标阳性,或同种类型标本两次采样检测中均出现单个靶标阳性的检测结果,可判定为阳性。

定义内容的视图

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

这种结构源自 Composition

Summary

Mandatory: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Composition.section is sliced based on the value of profile:resource

 

本定义的其它表示法: Schematron

Terminology Bindings

PathConformanceValueSet / Code
Composition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Composition.statusrequiredCompositionStatus
Composition.typerequiredPattern: P001("新型冠状病毒核酸检测报告")
Composition.categoryrequiredPattern: PHR("个人健康档案共享文档")
Composition.confidentialityrequiredv3.ConfidentialityClassification
Composition.attester.moderequiredCompositionAttestationMode
Composition.relatesTo.coderequiredDocumentRelationshipType
Composition.event.codeexampleActCode
Composition.section.coderequiredDocSectionCodes
Composition.section.moderequiredListMode
Composition.section.orderedBypreferredListOrderCodes
Composition.section.emptyReasonpreferredListEmptyReasons
Composition.section:LabResult.codeexamplePattern: LOINC code 30954-2("检验结果")
Composition.section:LabResult.moderequiredListMode
Composition.section:LabResult.orderedBypreferredListOrderCodes
Composition.section:LabResult.emptyReasonpreferredListEmptyReasons
Composition.section:Speciman.codeexamplePattern: LOINC code 68992-7("标本信息")
Composition.section:Speciman.moderequiredListMode
Composition.section:Speciman.orderedBypreferredListOrderCodes
Composition.section:Speciman.emptyReasonpreferredListEmptyReasons

Constraints

IdPathDetailsRequirements
dom-2CompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3CompositionIf 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-4CompositionIf 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-5CompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6CompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1Composition.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.confidentialityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.attester.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.attester.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.attester.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.attester.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.timeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.partyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.custodianAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesTo.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.relatesTo.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.relatesTo.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.relatesTo.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.relatesTo.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesTo.target[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.eventAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.event.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.event.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.event.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.event.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.detailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cmp-1Composition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2Composition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
ele-1Composition.sectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.orderedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.emptyReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.sectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cmp-1Composition.section:LabResultA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2Composition.section:LabResultA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
ele-1Composition.section:LabResultAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section:LabResult.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section:LabResult.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section:LabResult.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section:LabResult.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.orderedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.emptyReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:LabResult.sectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cmp-1Composition.section:SpecimanA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2Composition.section:SpecimanA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
ele-1Composition.section:SpecimanAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section:Speciman.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section:Speciman.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section:Speciman.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section:Speciman.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.orderedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.emptyReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section:Speciman.sectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())