HL7 Vietnam VN Core FHIR Implementation Guide

Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.6.0 - Draft for Community Review Viet Nam cờ

Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Draft for Community Review (v0.6.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Hồ sơ tài nguyên: Phiếu khám sức khỏe VN Core — VN Core Questionnaire (KSK form) Profile

URL chính thức: http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-questionnaire Phiên bản: 0.6.0
Computable Name: VNCoreQuestionnaire

Bản quyền/Pháp lý: Căn cứ pháp lý Việt Nam: QĐ 1551/QĐ-BYT (2026) Phụ lục 01; QĐ 1332/QĐ-BYT; QĐ 3176/QĐ-BYT.

Profile Questionnaire biểu diễn các mẫu phiếu khám sức khỏe định kỳ/sàng lọc theo QĐ 1551/QĐ-BYT Phụ lục 01 (17 mẫu phiếu). Mỗi item.linkId ánh xạ tới một trường dữ liệu của Phụ lục 01 (vd HO_TEN, CHIEU_CAO, PHAN_LOAI_SK); các trường có mã trả lời (vd giới tính, đối tượng khám) dùng answerOption. Kết quả thu thập biểu diễn bằng QuestionnaireResponse, sau đó tổng hợp vào VNCoreCompositionHealthCheckup để liên thông. Dẫn xuất từ HL7 SDC sdc-questionnaire (Structured Data Capture, hl7.fhir.uv.sdc#4.0.0); các trường có mã trả lời dùng answerValueSet trỏ tới ValueSet KSK chính thức, trường bắt buộc đánh dấu required. Căn cứ pháp lý:

  • QĐ 1551/QĐ-BYT (2026) — đặc tả dữ liệu mẫu phiếu KSK (Phụ lục 01).
  • QĐ 1332/QĐ-BYT (2024) — Sổ sức khỏe điện tử VNeID.
  • QĐ 3176/QĐ-BYT (2024) — kiểu/định dạng các trường dữ liệu dùng chung. / VN Core Questionnaire for the periodic/screening health-checkup forms (SDC).

Usages:

You can also check for usages in the FHIR IG Statistics

Các dạng xem hình thức của nội dung hồ sơ

Mô tả profile, differential, snapshot và các biểu diễn liên quan.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCBaseQuestionnaire A structured set of questions
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
.... extension:versionAlgorithm S 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
.... extension:copyrightLabel 0..1 string Copyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
.... extension:performerType S 0..* code Resource that can record answers to this Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-performerType
Binding: Questionnaire Performer Type (required): Resources that can record answers to a questionnaire.
.... extension:assemble-expectation S 0..1 code Questionnaire is modular
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation
Binding: Questionnaire Assemble Expectation (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... version SΣ 0..1 string Phiên bản mẫu phiếu
... name SΣC 0..1 string Name for this questionnaire (computer friendly)
... title SΣ 1..1 string Tên mẫu phiếu (vd Giấy KSK định kỳ cho người ≥18 tuổi)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... subjectType SΣ 1..* code Loại đối tượng áp dụng (thường Patient)
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
.... Slices for extension Content/Rules for all slices
..... extension:subjectType 0..* code R5: subjectType additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.subjectType
Binding: R5ResourceTypesForR4 (0.1.0) (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
... code SΣ 0..* Coding Mã loại mẫu phiếu KSK (gợi ý VNHealthCheckupFormTypeCS)
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
... item SC 1..* BackboneElement Các trường/nhóm trường của Phụ lục 01
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, sdc-1, que-1a, que-1b, que-1c, que-14
.... Slices for extension Content/Rules for all slices
..... extension:hidden S 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
..... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
..... extension:disabledDisplay 0..1 code R5: hidden | protected (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.disabledDisplay
Binding: R5QuestionnaireDisabledDisplayForR4 (0.1.0) (required): Defines how disabled elements should be rendered
Constraints: ext-1
..... extension:answerConstraint 0..1 code R5: optionsOnly | optionsOrType | optionsOrString (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint
Binding: R5QuestionnaireAnswerConstraintForR4 (0.1.0) (required): Indicates differnt modes for restricting values when options or valueset are specified
Constraints: ext-1
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
..... extension:itemOptionalDisplay 0..1 boolean Can suppress from display to user
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId SC 1..1 string Mã trường Phụ lục 01 (vd HO_TEN, CHIEU_CAO, PHAN_LOAI_SK) hoặc mã nhóm (vd I, III.A)
Constraints: que-15
.... prefix S 0..1 string E.g. "1(a)", "2.5.3"
.... text S 1..1 string Nhãn trường (tiếng Việt)
.... type S 1..1 code group | string | integer | decimal | date | choice | boolean
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
.... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... question 1..1 string Question that determines whether item is enabled
..... operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
..... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... answerBoolean boolean
...... answerDecimal decimal
...... answerInteger integer
...... answerDate date
...... answerDateTime dateTime
...... answerTime time
...... answerString string
...... answerCoding Coding
...... answerQuantity Quantity
...... answerReference Reference(Resource)
.... required SC 0..1 boolean Whether the item must be included in data results
.... repeats SC 0..1 boolean Whether the item may repeat
.... readOnly SC 0..1 boolean Don't allow human editing
.... answerValueSet SC 0..1 canonical(SDC Value Set) Valueset containing permitted answers
.... answerOption SC 0..* BackboneElement Permitted answer
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for value[x] S 1..1 Answer value
Slice: Unordered, Open by type:$this
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... valueInteger integer
...... valueDate date
...... valueTime time
...... valueString string
...... valueCoding Coding
...... valueReference Reference(Resource)
...... value[x]:valueCoding SC 0..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Constraints: sdc-base-1, sdc-base-2
...... value[x]:valueReference SC 0..1 Reference(Resource) Answer value
Constraints: sdc-base-4
.... initial SC 0..* BackboneElement Initial value(s) when item is first rendered
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] S 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity
...... valueReference Reference(Resource)
.... item SC 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.status Base required PublicationStatus 📍4.0.1 FHIR Std.
Questionnaire.subjectType Base required ResourceType 📍4.0.1 FHIR Std.
Questionnaire.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.type Base required QuestionnaireItemType 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required QuestionnaireItemOperator 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x]:valueCoding Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning Questionnaire.url Warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
dom-2 error Questionnaire If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Questionnaire 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 error Questionnaire 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 error Questionnaire If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Questionnaire A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
que-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1 error Questionnaire.item Group items must have nested items, display items cannot have nested items (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item Only 'choice' and 'open-choice' items can have answerValueSet (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6 error Questionnaire.item Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-8 error Questionnaire.item Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11 error Questionnaire.item If one or more answerOption is present, initial[x] must be missing answerOption.empty() or initial.empty()
que-12 error Questionnaire.item If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 2 implies enableBehavior.exists()
que-13 error Questionnaire.item Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item Can only have answerConstraint if answerOption, answerValueSet, or answerExpression are present. (This is a warning because other extensions may serve the same purpose) extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint').exists() implies answerOption.exists() or answerValueSet.exists() or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').exists()
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
que-1a error Questionnaire.item Group items must have nested items when Questionanire is complete (type='group' and %resource.status='complete') implies item.empty().not()
que-1b warning Questionnaire.item Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item Display items cannot have child items type='display' implies item.empty()
sdc-1 error Questionnaire.item An item cannot have an answerExpression if answerOption or answerValueSet is already present. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').empty().not() implies (answerOption.empty() and answerValueSet.empty())
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').exists()
sdc-3 best practice Questionnaire Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-base-1 error Questionnaire.item.answerOption.value[x]:valueCoding AnswerOption.valueCoding must have at least one of code or display code.exists() or display.exists()
sdc-base-2 error Questionnaire.item.answerOption.value[x]:valueCoding If code exists, system must exist code.exists() implies system.exists()
sdc-base-4 error Questionnaire.item.answerOption.value[x]:valueReference Reference must have at least one of reference, display, and identifier reference.exists() or display.exists() or identifier.exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire 0..* SDCBaseQuestionnaire A structured set of questions
... url 1..1 uri Canonical URL của mẫu phiếu KSK
... version 0..1 string Phiên bản mẫu phiếu
... name S 0..1 string Name for this questionnaire (computer friendly)
... subjectType 1..* code Loại đối tượng áp dụng (thường Patient)
... code S 0..* Coding Mã loại mẫu phiếu KSK (gợi ý VNHealthCheckupFormTypeCS)
... item 1..* BackboneElement Các trường/nhóm trường của Phụ lục 01
.... linkId 1..1 string Mã trường Phụ lục 01 (vd HO_TEN, CHIEU_CAO, PHAN_LOAI_SK) hoặc mã nhóm (vd I, III.A)
.... text S 1..1 string Nhãn trường (tiếng Việt)
.... type 1..1 code group | string | integer | decimal | date | choice | boolean

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCBaseQuestionnaire A structured set of questions
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
.... extension:versionAlgorithm S 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
.... extension:copyrightLabel 0..1 string Copyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
.... extension:performerType S 0..* code Resource that can record answers to this Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-performerType
Binding: Questionnaire Performer Type (required): Resources that can record answers to a questionnaire.
.... extension:assemble-expectation S 0..1 code Questionnaire is modular
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation
Binding: Questionnaire Assemble Expectation (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url SΣC 1..1 uri Canonical URL của mẫu phiếu KSK
Constraints: cnl-1
... identifier Σ 0..* Identifier Additional identifier for the questionnaire
... version SΣ 0..1 string Phiên bản mẫu phiếu
... name SΣC 0..1 string Name for this questionnaire (computer friendly)
... title SΣ 1..1 string Tên mẫu phiếu (vd Giấy KSK định kỳ cho người ≥18 tuổi)
... derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... subjectType SΣ 1..* code Loại đối tượng áp dụng (thường Patient)
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:subjectType 0..* code R5: subjectType additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.subjectType
Binding: R5ResourceTypesForR4 (0.1.0) (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
.... value 0..1 string Primitive value for code
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the questionnaire
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this questionnaire is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed
... effectivePeriod Σ 0..1 Period When the questionnaire is expected to be used
... code SΣ 0..* Coding Mã loại mẫu phiếu KSK (gợi ý VNHealthCheckupFormTypeCS)
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
... item SC 1..* BackboneElement Các trường/nhóm trường của Phụ lục 01
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, sdc-1, que-1a, que-1b, que-1c, que-14
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:hidden S 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
..... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
..... extension:disabledDisplay 0..1 code R5: hidden | protected (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.disabledDisplay
Binding: R5QuestionnaireDisabledDisplayForR4 (0.1.0) (required): Defines how disabled elements should be rendered
Constraints: ext-1
..... extension:answerConstraint 0..1 code R5: optionsOnly | optionsOrType | optionsOrString (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint
Binding: R5QuestionnaireAnswerConstraintForR4 (0.1.0) (required): Indicates differnt modes for restricting values when options or valueset are specified
Constraints: ext-1
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
..... extension:itemOptionalDisplay 0..1 boolean Can suppress from display to user
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId SC 1..1 string Mã trường Phụ lục 01 (vd HO_TEN, CHIEU_CAO, PHAN_LOAI_SK) hoặc mã nhóm (vd I, III.A)
Constraints: que-15
.... definition 0..1 uri ElementDefinition - details for the item
.... code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
.... prefix S 0..1 string E.g. "1(a)", "2.5.3"
.... text S 1..1 string Nhãn trường (tiếng Việt)
.... type S 1..1 code group | string | integer | decimal | date | choice | boolean
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
.... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... question 1..1 string Question that determines whether item is enabled
..... operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
..... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... answerBoolean boolean
...... answerDecimal decimal
...... answerInteger integer
...... answerDate date
...... answerDateTime dateTime
...... answerTime time
...... answerString string
...... answerCoding Coding
...... answerQuantity Quantity
...... answerReference Reference(Resource)
.... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
.... required SC 0..1 boolean Whether the item must be included in data results
.... repeats SC 0..1 boolean Whether the item may repeat
.... readOnly SC 0..1 boolean Don't allow human editing
.... maxLength C 0..1 integer No more than this many characters
.... answerValueSet SC 0..1 canonical(SDC Value Set) Valueset containing permitted answers
.... answerOption SC 0..* BackboneElement Permitted answer
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for value[x] S 1..1 Answer value
Slice: Unordered, Open by type:$this
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... valueInteger integer
...... valueDate date
...... valueTime time
...... valueString string
...... valueCoding Coding
...... valueReference Reference(Resource)
...... value[x]:valueCoding SC 0..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Constraints: sdc-base-1, sdc-base-2
...... value[x]:valueReference SC 0..1 Reference(Resource) Answer value
Constraints: sdc-base-4
..... initialSelected 0..1 boolean Whether option is selected by default
.... initial SC 0..* BackboneElement Initial value(s) when item is first rendered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] S 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity
...... valueReference Reference(Resource)
.... item SC 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Questionnaire.status Base required PublicationStatus 📍4.0.1 FHIR Std.
Questionnaire.subjectType Base required ResourceType 📍4.0.1 FHIR Std.
Questionnaire.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
Questionnaire.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.type Base required QuestionnaireItemType 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required QuestionnaireItemOperator 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.enableBehavior Base required EnableWhenBehavior 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x]:valueCoding Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning Questionnaire.url Warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
dom-2 error Questionnaire If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Questionnaire 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 error Questionnaire 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 error Questionnaire If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Questionnaire A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
que-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1 error Questionnaire.item Group items must have nested items, display items cannot have nested items (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item Only 'choice' and 'open-choice' items can have answerValueSet (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6 error Questionnaire.item Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-8 error Questionnaire.item Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11 error Questionnaire.item If one or more answerOption is present, initial[x] must be missing answerOption.empty() or initial.empty()
que-12 error Questionnaire.item If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 2 implies enableBehavior.exists()
que-13 error Questionnaire.item Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item Can only have answerConstraint if answerOption, answerValueSet, or answerExpression are present. (This is a warning because other extensions may serve the same purpose) extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint').exists() implies answerOption.exists() or answerValueSet.exists() or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').exists()
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
que-1a error Questionnaire.item Group items must have nested items when Questionanire is complete (type='group' and %resource.status='complete') implies item.empty().not()
que-1b warning Questionnaire.item Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item Display items cannot have child items type='display' implies item.empty()
sdc-1 error Questionnaire.item An item cannot have an answerExpression if answerOption or answerValueSet is already present. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').empty().not() implies (answerOption.empty() and answerValueSet.empty())
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').exists()
sdc-3 best practice Questionnaire Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-base-1 error Questionnaire.item.answerOption.value[x]:valueCoding AnswerOption.valueCoding must have at least one of code or display code.exists() or display.exists()
sdc-base-2 error Questionnaire.item.answerOption.value[x]:valueCoding If code exists, system must exist code.exists() implies system.exists()
sdc-base-4 error Questionnaire.item.answerOption.value[x]:valueReference Reference must have at least one of reference, display, and identifier reference.exists() or display.exists() or identifier.exists()

Summary

Mandatory: 4 elements
Must-Support: 3 elements

Dạng xem phần tử chính

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCBaseQuestionnaire A structured set of questions
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
.... extension:versionAlgorithm S 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
.... extension:copyrightLabel 0..1 string Copyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
.... extension:performerType S 0..* code Resource that can record answers to this Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-performerType
Binding: Questionnaire Performer Type (required): Resources that can record answers to a questionnaire.
.... extension:assemble-expectation S 0..1 code Questionnaire is modular
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation
Binding: Questionnaire Assemble Expectation (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... version SΣ 0..1 string Phiên bản mẫu phiếu
... name SΣC 0..1 string Name for this questionnaire (computer friendly)
... title SΣ 1..1 string Tên mẫu phiếu (vd Giấy KSK định kỳ cho người ≥18 tuổi)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... subjectType SΣ 1..* code Loại đối tượng áp dụng (thường Patient)
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
.... Slices for extension Content/Rules for all slices
..... extension:subjectType 0..* code R5: subjectType additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.subjectType
Binding: R5ResourceTypesForR4 (0.1.0) (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
... code SΣ 0..* Coding Mã loại mẫu phiếu KSK (gợi ý VNHealthCheckupFormTypeCS)
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
... item SC 1..* BackboneElement Các trường/nhóm trường của Phụ lục 01
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, sdc-1, que-1a, que-1b, que-1c, que-14
.... Slices for extension Content/Rules for all slices
..... extension:hidden S 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
..... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
..... extension:disabledDisplay 0..1 code R5: hidden | protected (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.disabledDisplay
Binding: R5QuestionnaireDisabledDisplayForR4 (0.1.0) (required): Defines how disabled elements should be rendered
Constraints: ext-1
..... extension:answerConstraint 0..1 code R5: optionsOnly | optionsOrType | optionsOrString (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint
Binding: R5QuestionnaireAnswerConstraintForR4 (0.1.0) (required): Indicates differnt modes for restricting values when options or valueset are specified
Constraints: ext-1
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
..... extension:itemOptionalDisplay 0..1 boolean Can suppress from display to user
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId SC 1..1 string Mã trường Phụ lục 01 (vd HO_TEN, CHIEU_CAO, PHAN_LOAI_SK) hoặc mã nhóm (vd I, III.A)
Constraints: que-15
.... prefix S 0..1 string E.g. "1(a)", "2.5.3"
.... text S 1..1 string Nhãn trường (tiếng Việt)
.... type S 1..1 code group | string | integer | decimal | date | choice | boolean
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
.... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... question 1..1 string Question that determines whether item is enabled
..... operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
..... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... answerBoolean boolean
...... answerDecimal decimal
...... answerInteger integer
...... answerDate date
...... answerDateTime dateTime
...... answerTime time
...... answerString string
...... answerCoding Coding
...... answerQuantity Quantity
...... answerReference Reference(Resource)
.... required SC 0..1 boolean Whether the item must be included in data results
.... repeats SC 0..1 boolean Whether the item may repeat
.... readOnly SC 0..1 boolean Don't allow human editing
.... answerValueSet SC 0..1 canonical(SDC Value Set) Valueset containing permitted answers
.... answerOption SC 0..* BackboneElement Permitted answer
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for value[x] S 1..1 Answer value
Slice: Unordered, Open by type:$this
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... valueInteger integer
...... valueDate date
...... valueTime time
...... valueString string
...... valueCoding Coding
...... valueReference Reference(Resource)
...... value[x]:valueCoding SC 0..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Constraints: sdc-base-1, sdc-base-2
...... value[x]:valueReference SC 0..1 Reference(Resource) Answer value
Constraints: sdc-base-4
.... initial SC 0..* BackboneElement Initial value(s) when item is first rendered
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] S 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity
...... valueReference Reference(Resource)
.... item SC 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.status Base required PublicationStatus 📍4.0.1 FHIR Std.
Questionnaire.subjectType Base required ResourceType 📍4.0.1 FHIR Std.
Questionnaire.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.type Base required QuestionnaireItemType 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required QuestionnaireItemOperator 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x]:valueCoding Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning Questionnaire.url Warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
dom-2 error Questionnaire If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Questionnaire 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 error Questionnaire 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 error Questionnaire If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Questionnaire A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
que-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1 error Questionnaire.item Group items must have nested items, display items cannot have nested items (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item Only 'choice' and 'open-choice' items can have answerValueSet (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6 error Questionnaire.item Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-8 error Questionnaire.item Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11 error Questionnaire.item If one or more answerOption is present, initial[x] must be missing answerOption.empty() or initial.empty()
que-12 error Questionnaire.item If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 2 implies enableBehavior.exists()
que-13 error Questionnaire.item Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item Can only have answerConstraint if answerOption, answerValueSet, or answerExpression are present. (This is a warning because other extensions may serve the same purpose) extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint').exists() implies answerOption.exists() or answerValueSet.exists() or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').exists()
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
que-1a error Questionnaire.item Group items must have nested items when Questionanire is complete (type='group' and %resource.status='complete') implies item.empty().not()
que-1b warning Questionnaire.item Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item Display items cannot have child items type='display' implies item.empty()
sdc-1 error Questionnaire.item An item cannot have an answerExpression if answerOption or answerValueSet is already present. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').empty().not() implies (answerOption.empty() and answerValueSet.empty())
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').exists()
sdc-3 best practice Questionnaire Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-base-1 error Questionnaire.item.answerOption.value[x]:valueCoding AnswerOption.valueCoding must have at least one of code or display code.exists() or display.exists()
sdc-base-2 error Questionnaire.item.answerOption.value[x]:valueCoding If code exists, system must exist code.exists() implies system.exists()
sdc-base-4 error Questionnaire.item.answerOption.value[x]:valueReference Reference must have at least one of reference, display, and identifier reference.exists() or display.exists() or identifier.exists()

Dạng xem Differential

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire 0..* SDCBaseQuestionnaire A structured set of questions
... url 1..1 uri Canonical URL của mẫu phiếu KSK
... version 0..1 string Phiên bản mẫu phiếu
... name S 0..1 string Name for this questionnaire (computer friendly)
... subjectType 1..* code Loại đối tượng áp dụng (thường Patient)
... code S 0..* Coding Mã loại mẫu phiếu KSK (gợi ý VNHealthCheckupFormTypeCS)
... item 1..* BackboneElement Các trường/nhóm trường của Phụ lục 01
.... linkId 1..1 string Mã trường Phụ lục 01 (vd HO_TEN, CHIEU_CAO, PHAN_LOAI_SK) hoặc mã nhóm (vd I, III.A)
.... text S 1..1 string Nhãn trường (tiếng Việt)
.... type 1..1 code group | string | integer | decimal | date | choice | boolean

doco Documentation for this format

Dạng xem SnapshotView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Questionnaire C 0..* SDCBaseQuestionnaire A structured set of questions
Constraints: que-0, que-2, cnl-0, sdc-2, sdc-3
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
.... extension:versionAlgorithm S 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
.... extension:copyrightLabel 0..1 string Copyright holder and year(s)
URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel
.... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
.... extension:performerType S 0..* code Resource that can record answers to this Questionnaire
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-performerType
Binding: Questionnaire Performer Type (required): Resources that can record answers to a questionnaire.
.... extension:assemble-expectation S 0..1 code Questionnaire is modular
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation
Binding: Questionnaire Assemble Expectation (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url SΣC 1..1 uri Canonical URL của mẫu phiếu KSK
Constraints: cnl-1
... identifier Σ 0..* Identifier Additional identifier for the questionnaire
... version SΣ 0..1 string Phiên bản mẫu phiếu
... name SΣC 0..1 string Name for this questionnaire (computer friendly)
... title SΣ 1..1 string Tên mẫu phiếu (vd Giấy KSK định kỳ cho người ≥18 tuổi)
... derivedFrom 0..* canonical(Questionnaire) Instantiates protocol or definition
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... subjectType SΣ 1..* code Loại đối tượng áp dụng (thường Patient)
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:subjectType 0..* code R5: subjectType additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.subjectType
Binding: R5ResourceTypesForR4 (0.1.0) (required): One of the resource types defined as part of this version of FHIR.
Constraints: ext-1
.... value 0..1 string Primitive value for code
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the questionnaire
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for questionnaire (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this questionnaire is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... approvalDate 0..1 date When the questionnaire was approved by publisher
... lastReviewDate 0..1 date When the questionnaire was last reviewed
... effectivePeriod Σ 0..1 Period When the questionnaire is expected to be used
... code SΣ 0..* Coding Mã loại mẫu phiếu KSK (gợi ý VNHealthCheckupFormTypeCS)
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
... item SC 1..* BackboneElement Các trường/nhóm trường của Phụ lục 01
Constraints: que-1, que-3, que-4, que-5, que-6, que-8, que-9, que-10, que-11, que-12, que-13, sdc-1, que-1a, que-1b, que-1c, que-14
.... id 0..1 string Unique id for inter-element referencing
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:hidden S 0..1 boolean Don't display to user
URL: http://hl7.org/fhir/StructureDefinition/questionnaire-hidden
..... extension:terminologyServer 0..* url Preferred terminology server
URL: http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer
..... extension:disabledDisplay 0..1 code R5: hidden | protected (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.disabledDisplay
Binding: R5QuestionnaireDisabledDisplayForR4 (0.1.0) (required): Defines how disabled elements should be rendered
Constraints: ext-1
..... extension:answerConstraint 0..1 code R5: optionsOnly | optionsOrType | optionsOrString (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint
Binding: R5QuestionnaireAnswerConstraintForR4 (0.1.0) (required): Indicates differnt modes for restricting values when options or valueset are specified
Constraints: ext-1
..... extension:designNote 0..1 markdown Design comments
URL: http://hl7.org/fhir/StructureDefinition/designNote
..... extension:itemOptionalDisplay 0..1 boolean Can suppress from display to user
URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId SC 1..1 string Mã trường Phụ lục 01 (vd HO_TEN, CHIEU_CAO, PHAN_LOAI_SK) hoặc mã nhóm (vd I, III.A)
Constraints: que-15
.... definition 0..1 uri ElementDefinition - details for the item
.... code C 0..* Coding Corresponding concept for this item in a terminology
Binding: QuestionnaireQuestionCodes (example): Codes for questionnaires, groups and individual questions.
.... prefix S 0..1 string E.g. "1(a)", "2.5.3"
.... text S 1..1 string Nhãn trường (tiếng Việt)
.... type S 1..1 code group | string | integer | decimal | date | choice | boolean
Binding: QuestionnaireItemType (required): Distinguishes groups from questions and display text and indicates data type for questions.
.... enableWhen ?!C 0..* BackboneElement Only allow data when
Constraints: que-7
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... question 1..1 string Question that determines whether item is enabled
..... operator 1..1 code exists | = | != | > | < | >= | <=
Binding: QuestionnaireItemOperator (required): The criteria by which a question is enabled.
..... answer[x] C 1..1 Value for question comparison based on operator
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... answerBoolean boolean
...... answerDecimal decimal
...... answerInteger integer
...... answerDate date
...... answerDateTime dateTime
...... answerTime time
...... answerString string
...... answerCoding Coding
...... answerQuantity Quantity
...... answerReference Reference(Resource)
.... enableBehavior C 0..1 code all | any
Binding: EnableWhenBehavior (required): Controls how multiple enableWhen values are interpreted - whether all or any must be true.
.... required SC 0..1 boolean Whether the item must be included in data results
.... repeats SC 0..1 boolean Whether the item may repeat
.... readOnly SC 0..1 boolean Don't allow human editing
.... maxLength C 0..1 integer No more than this many characters
.... answerValueSet SC 0..1 canonical(SDC Value Set) Valueset containing permitted answers
.... answerOption SC 0..* BackboneElement Permitted answer
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for value[x] S 1..1 Answer value
Slice: Unordered, Open by type:$this
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... valueInteger integer
...... valueDate date
...... valueTime time
...... valueString string
...... valueCoding Coding
...... valueReference Reference(Resource)
...... value[x]:valueCoding SC 0..1 Coding Answer value
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
Constraints: sdc-base-1, sdc-base-2
...... value[x]:valueReference SC 0..1 Reference(Resource) Answer value
Constraints: sdc-base-4
..... initialSelected 0..1 boolean Whether option is selected by default
.... initial SC 0..* BackboneElement Initial value(s) when item is first rendered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] S 1..1 Actual value for initializing the question
Binding: QuestionnaireAnswerCodes (example): Allowed values to answer questions.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity
...... valueReference Reference(Resource)
.... item SC 0..* See item (Questionnaire) Nested questionnaire items

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Questionnaire.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Questionnaire.status Base required PublicationStatus 📍4.0.1 FHIR Std.
Questionnaire.subjectType Base required ResourceType 📍4.0.1 FHIR Std.
Questionnaire.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
Questionnaire.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.code Base example Questionnaire Question Codes 📍4.0.1 FHIR Std.
Questionnaire.item.type Base required QuestionnaireItemType 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​operator Base required QuestionnaireItemOperator 📍4.0.1 FHIR Std.
Questionnaire.item.enableWhen.​answer[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.enableBehavior Base required EnableWhenBehavior 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.answerOption.​value[x]:valueCoding Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.
Questionnaire.item.initial.​value[x] Base example Questionnaire Answer Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning Questionnaire.url Warning Questionnaire.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
dom-2 error Questionnaire If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Questionnaire 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 error Questionnaire 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 error Questionnaire If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Questionnaire A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
que-0 warning Questionnaire Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
que-1 error Questionnaire.item Group items must have nested items, display items cannot have nested items (type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())
que-2 error Questionnaire The link ids for groups and questions must be unique within the questionnaire descendants().linkId.isDistinct()
que-3 error Questionnaire.item Display items cannot have a "code" asserted type!='display' or code.empty()
que-4 error Questionnaire.item A question cannot have both answerOption and answerValueSet answerOption.empty() or answerValueSet.empty()
que-5 error Questionnaire.item Only 'choice' and 'open-choice' items can have answerValueSet (type ='choice' or type = 'open-choice' or type = 'decimal' or type = 'integer' or type = 'date' or type = 'dateTime' or type = 'time' or type = 'string' or type = 'quantity') or (answerValueSet.empty() and answerOption.empty())
que-6 error Questionnaire.item Required and repeat aren't permitted for display items type!='display' or (required.empty() and repeats.empty())
que-7 error Questionnaire.item.enableWhen If the operator is 'exists', the value must be a boolean operator = 'exists' implies (answer is Boolean)
que-8 error Questionnaire.item Initial values can't be specified for groups or display items (type!='group' and type!='display') or initial.empty()
que-9 error Questionnaire.item Read-only can't be specified for "display" items type!='display' or readOnly.empty()
que-10 error Questionnaire.item Maximum length can only be declared for simple question types (type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url' | 'open-choice')) or maxLength.empty()
que-11 error Questionnaire.item If one or more answerOption is present, initial[x] must be missing answerOption.empty() or initial.empty()
que-12 error Questionnaire.item If there are more than one enableWhen, enableBehavior must be specified enableWhen.count() > 2 implies enableBehavior.exists()
que-13 error Questionnaire.item Can only have multiple initial values for repeating items repeats=true or initial.count() <= 1
que-14 warning Questionnaire.item Can only have answerConstraint if answerOption, answerValueSet, or answerExpression are present. (This is a warning because other extensions may serve the same purpose) extension('http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.item.answerConstraint').exists() implies answerOption.exists() or answerValueSet.exists() or extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').exists()
que-15 error Questionnaire.item.linkId Link ids must be 255 characters or less $this.length() <= 255
que-1a error Questionnaire.item Group items must have nested items when Questionanire is complete (type='group' and %resource.status='complete') implies item.empty().not()
que-1b warning Questionnaire.item Groups should have items type='group' implies item.empty().not()
que-1c error Questionnaire.item Display items cannot have child items type='display' implies item.empty()
sdc-1 error Questionnaire.item An item cannot have an answerExpression if answerOption or answerValueSet is already present. extension('http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression').empty().not() implies (answerOption.empty() and answerValueSet.empty())
sdc-2 error Questionnaire If version is present, versionAlgorithm must be present. version.exists() implies extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').exists()
sdc-3 best practice Questionnaire Semver is the preferred version algorithm - package machinery doesn't work well with artifacts using alternate versioning schemes extension.where(url='http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm').all(value.ofType(Coding).where(system='http://hl7.org/fhir/version-algorithm' and code='semver').exists())
sdc-base-1 error Questionnaire.item.answerOption.value[x]:valueCoding AnswerOption.valueCoding must have at least one of code or display code.exists() or display.exists()
sdc-base-2 error Questionnaire.item.answerOption.value[x]:valueCoding If code exists, system must exist code.exists() implies system.exists()
sdc-base-4 error Questionnaire.item.answerOption.value[x]:valueReference Reference must have at least one of reference, display, and identifier reference.exists() or display.exists() or identifier.exists()

Summary

Mandatory: 4 elements
Must-Support: 3 elements

 

Biểu diễn khác của hồ sơ: CSV, Excel, Schematron