HL7 BE Laboratory WG Implementation Guide
1.0.0 - STU

This page is part of the HL7 Belgium FHIR Implementation Guide - Lab related profiles (v1.0.0: Trial Use) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: BeSpecimenLaboratory

Official URL: https://www.ehealth.fgov.be/standards/fhir/lab/StructureDefinition/be-specimen-laboratory Version: 1.0.0
Draft as of 2021-11-08 Maturity Level: 1 Responsible: eHealth Platform Realm: BE Computable Name: BeSpecimenLaboratory

Belgian profile for a specimen in a laboratory report. In some laboratory reports, specimen information is allowed to be minimal as many informations concerning the specimen are implied by the observations done.

Usage:

  • Refer to this Resource Profile:
  • Examples for this Resource Profile: Specimen/urine1

Formal Views of Profile Content

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

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Specimen.languagepreferredCommonLanguages
Max Binding: AllLanguages
Specimen.text.statusrequiredPattern: empty
Specimen.statusrequiredSpecimenStatus
Specimen.typeexampleHl7VSSpecimenType
Specimen.collection.methodexampleFHIRSpecimenCollectionMethod
Specimen.collection.bodySiteexampleSNOMEDCTBodyStructures
Specimen.collection.fastingStatus[x]extensibleHl7VSRelevantClincialInformation
Specimen.processing.procedureexampleSpecimenProcessingProcedure
Specimen.container.typeexampleSpecimenContainerType
Specimen.container.additive[x]exampleHl7VSAdditivePreservative
Specimen.conditionextensibleHl7VSSpecimenCondition

Constraints

IdGradePathDetailsRequirements
dom-2errorSpecimenIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSpecimenIf 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-4errorSpecimenIf 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-5errorSpecimenIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6Best PracticeSpecimenA resource should have narrative for robust management
: text.`div`.exists()
ele-1errorSpecimen.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.text.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.text.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.text.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.text.divAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
txt-1errorSpecimen.text.divThe narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes
: htmlChecks()
txt-2errorSpecimen.text.divThe narrative SHALL have some non-whitespace content
: htmlChecks()
ele-1errorSpecimen.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.accessionIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.receivedTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.parentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.requestAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.collectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.collection.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.collection.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.collection.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.collection.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.collection.collectorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.collection.collected[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.collection.durationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.collection.quantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.collection.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.collection.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.collection.fastingStatus[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.processingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.processing.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.processing.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.processing.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.processing.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.processing.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.processing.procedureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.processing.additiveAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.processing.time[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.containerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.container.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.container.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.container.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorSpecimen.container.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorSpecimen.container.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.container.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.container.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.container.capacityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.container.specimenQuantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.container.additive[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.conditionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorSpecimen.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())