From 5a4976b943f748cf716d360924594e10b7b2b10c Mon Sep 17 00:00:00 2001 From: Chris Moesel Date: Wed, 26 Jul 2023 10:36:37 -0400 Subject: [PATCH] Improve Handling of ElementDefinition.binding without valueSet (#1313) * Tests for bindings w/ no value set * Improve handling of bindings without a valueSet --- src/fhirdefs/impliedExtensions.ts | 2 +- src/fhirtypes/ElementDefinition.ts | 24 +++-- test/fhirdefs/impliedExtension.test.ts | 93 +++++++++++++++++++ .../ElementDefinition.bindToVS.test.ts | 32 +++++++ .../package/StructureDefinition-Specimen.json | 1 + 5 files changed, 142 insertions(+), 10 deletions(-) create mode 100644 test/testhelpers/testdefs/r5-definitions/package/StructureDefinition-Specimen.json diff --git a/src/fhirdefs/impliedExtensions.ts b/src/fhirdefs/impliedExtensions.ts index 91b0605f2..daf15b013 100644 --- a/src/fhirdefs/impliedExtensions.ts +++ b/src/fhirdefs/impliedExtensions.ts @@ -334,7 +334,7 @@ function applyToValueXElement( // Handle different representation in DSTU2 and STU3 fromED.binding.valueSet ?? fromED.binding.valueSetUri ?? - fromED.binding.valueSetReference.reference, + fromED.binding.valueSetReference?.reference, fromED.binding.strength ); if (fromED.binding.description) { diff --git a/src/fhirtypes/ElementDefinition.ts b/src/fhirtypes/ElementDefinition.ts index 2fe5afdea..5aeb950da 100644 --- a/src/fhirtypes/ElementDefinition.ts +++ b/src/fhirtypes/ElementDefinition.ts @@ -1677,16 +1677,22 @@ export class ElementDefinition { ) { throw new BindingStrengthError(listElement?.binding?.strength, strength); } - // Canonical URLs may include | to specify version: https://www.hl7.org/fhir/references.html#canonical - if (!isUri(vsURI.split('|')[0])) { - throw new InvalidUriError(vsURI); - } - // We're good. Bind it. - this.binding = { - strength, - valueSet: vsURI - }; + if (vsURI == null) { + // Just bind the strength since valueSet is allowed to be 0..1 + this.binding = { strength }; + } else { + // Canonical URLs may include | to specify version: https://www.hl7.org/fhir/references.html#canonical + if (!isUri(vsURI.split('|')[0])) { + throw new InvalidUriError(vsURI); + } + + // We're good. Bind it. + this.binding = { + strength, + valueSet: vsURI + }; + } } /** diff --git a/test/fhirdefs/impliedExtension.test.ts b/test/fhirdefs/impliedExtension.test.ts index 167db26aa..f9c387767 100644 --- a/test/fhirdefs/impliedExtension.test.ts +++ b/test/fhirdefs/impliedExtension.test.ts @@ -771,6 +771,50 @@ describe('impliedExtensions', () => { expect(loggerSpy.getAllLogs('error')).toHaveLength(0); }); + it('should materialize a simple R5 extension with missing valueSet in binding (because it apparently happens)', () => { + // See: https://github.com/FHIR/sushi/issues/1312 + const ext = materializeImpliedExtension( + 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Group.code', + defs + ); + expect(ext).toBeDefined(); + expect(ext).toMatchObject({ + resourceType: 'StructureDefinition', + id: 'extension-Group.code', + url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Group.code', + version: '5.0.0', + name: 'Extension_Group_code', + title: 'Implied extension for Group.code', + status: 'active', + description: 'Implied extension for Group.code', + fhirVersion: '4.0.1', + kind: 'complex-type', + abstract: false, + context: [{ type: 'element', expression: 'Element' }], + type: 'Extension', + baseDefinition: 'http://hl7.org/fhir/StructureDefinition/Extension', + derivation: 'constraint' + }); + + // We don't need to check everything, as other tests already do that. We're mainly interested + // in the binding because the R5 definition does not specify a valueSet in the binding. + const diffValue = ext.differential?.element?.find((e: any) => e.id === 'Extension.value[x]'); + expect(diffValue).toEqual({ + id: 'Extension.value[x]', + path: 'Extension.value[x]', + type: [{ code: 'CodeableConcept' }], + binding: { + strength: 'example', + description: 'Kind of particular resource; e.g. cow, syringe, lake, etc.' + } + }); + const snapValue = ext.snapshot?.element?.find((e: any) => e.id === 'Extension.value[x]'); + expect(snapValue).toMatchObject(diffValue); + + expect(loggerSpy.getAllLogs('warn')).toHaveLength(0); + expect(loggerSpy.getAllLogs('error')).toHaveLength(0); + }); + it('should materialize a complex R5 extension', () => { const ext = materializeImpliedExtension( 'http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationRequest.substitution', @@ -1144,6 +1188,55 @@ describe('impliedExtensions', () => { expect(loggerSpy.getAllLogs('error')).toHaveLength(0); }); + it('should materialize a complex R5 extension for CodeableReference with missing valueSet in binding (because it apparently happens)', () => { + // See: https://github.com/FHIR/sushi/issues/1312 + const ext = materializeImpliedExtension( + 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.device', + defs + ); + expect(ext).toBeDefined(); + expect(ext).toMatchObject({ + resourceType: 'StructureDefinition', + id: 'extension-Specimen.collection.device', + url: 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.device', + version: '5.0.0', + name: 'Extension_Specimen_collection_device', + title: 'Implied extension for Specimen.collection.device', + status: 'active', + description: 'Implied extension for Specimen.collection.device', + fhirVersion: '4.0.1', + kind: 'complex-type', + abstract: false, + context: [{ type: 'element', expression: 'Element' }], + type: 'Extension', + baseDefinition: 'http://hl7.org/fhir/StructureDefinition/Extension', + derivation: 'constraint' + }); + + // We don't need to check everything, as other tests already do that. We're mainly interested + // in the binding because the R5 definition does not specify a valueSet in the binding. + const diffConceptValue = ext.differential?.element?.find( + (e: any) => e.id === 'Extension.extension:concept.value[x]' + ); + expect(diffConceptValue).toEqual({ + id: 'Extension.extension:concept.value[x]', + path: 'Extension.extension.value[x]', + type: [{ code: 'CodeableConcept' }], + binding: { + strength: 'example', + description: + 'The device that was used to obtain the specimen (e.g. a catheter or catheter part used to draw the blood via a central line).' + } + }); + const snapConceptValue = ext.snapshot?.element?.find( + (e: any) => e.id === 'Extension.extension:concept.value[x]' + ); + expect(snapConceptValue).toMatchObject(diffConceptValue); + + expect(loggerSpy.getAllLogs('warn')).toHaveLength(0); + expect(loggerSpy.getAllLogs('error')).toHaveLength(0); + }); + it('should automatically convert references to resources that have been renamed', () => { const ext = materializeImpliedExtension( 'http://hl7.org/fhir/1.0/StructureDefinition/extension-MedicationAdministration.prescription', diff --git a/test/fhirtypes/ElementDefinition.bindToVS.test.ts b/test/fhirtypes/ElementDefinition.bindToVS.test.ts index e10465091..ee5706c11 100644 --- a/test/fhirtypes/ElementDefinition.bindToVS.test.ts +++ b/test/fhirtypes/ElementDefinition.bindToVS.test.ts @@ -70,6 +70,14 @@ describe('ElementDefinition', () => { expect(concept.binding.strength).toBe('required'); }); + it('should allow a binding with no valueset specified (because it apparently happens)', () => { + // See: https://github.com/FHIR/sushi/issues/1312 + const concept = observation.elements.find(e => e.id === 'Observation.code'); + concept.bindToVS(null, 'required'); + expect(concept.binding.valueSet).toBeUndefined(); + expect(concept.binding.strength).toBe('required'); + }); + it('should throw CodedTypeNotFoundError when binding to an unsupported type', () => { const instant = observation.elements.find(e => e.id === 'Observation.issued'); const clone = cloneDeep(instant); @@ -177,6 +185,30 @@ describe('ElementDefinition', () => { expect(clone.binding.strength).toBe('required'); }); }); + + it('should still follow strength rules even when no value set is supplied (because it apparently happens)', () => { + // See: https://github.com/FHIR/sushi/issues/1312 + const interpretation = observation.elements.find(e => e.id === 'Observation.interpretation'); + expect(interpretation.binding.strength).toBe('extensible'); + let clone = cloneDeep(interpretation); + clone.bindToVS(null, 'extensible'); + expect(clone.binding.valueSet).toBeUndefined(); + expect(clone.binding.strength).toBe('extensible'); + clone = cloneDeep(interpretation); + clone.bindToVS(null, 'required'); + expect(clone.binding.valueSet).toBeUndefined(); + expect(clone.binding.strength).toBe('required'); + clone = cloneDeep(interpretation); + expect(() => { + interpretation.bindToVS(null, 'preferred'); + }).toThrow(/extensible.*preferred/); + expect(clone).toEqual(interpretation); + clone = cloneDeep(interpretation); + expect(() => { + interpretation.bindToVS(null, 'example'); + }).toThrow(/extensible.*example/); + expect(clone).toEqual(interpretation); + }); }); describe('ElementDefinition R5', () => { diff --git a/test/testhelpers/testdefs/r5-definitions/package/StructureDefinition-Specimen.json b/test/testhelpers/testdefs/r5-definitions/package/StructureDefinition-Specimen.json new file mode 100644 index 000000000..e3938e49d --- /dev/null +++ b/test/testhelpers/testdefs/r5-definitions/package/StructureDefinition-Specimen.json @@ -0,0 +1 @@ +{"resourceType":"StructureDefinition","id":"Specimen","meta":{"lastUpdated":"2023-03-26T15:21:02.749+11:00"},"text":{"status":"generated","div":"
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n
\n Name\n \n Flags\n \n Card.\n \n Type\n \n Description & Constraints\n \n \n \"doco\"\n \n \n
\n \".\"\n \".\" \n Specimen\n \n \n TU\n \n \n DomainResource\n Sample for analysis\n
\n
Elements defined in Ancestors: \n id, \n meta, \n implicitRules, \n language, \n text, \n contained, \n extension, \n modifierExtension\n
\n \".\"\n \".\"\n \".\" \n identifier\n \n \n Σ\n 0..*\n Identifier\n External Identifier\n
\n
\n
\n \".\"\n \".\"\n \".\" \n accessionIdentifier\n \n \n Σ\n 0..1\n Identifier\n Identifier assigned by the lab\n
\n
\n \".\"\n \".\"\n \".\" \n status\n \n \n ?!\n Σ\n 0..1\n code\n available | unavailable | unsatisfactory | entered-in-error\n
Binding: \n Specimen Status (\n Required)\n
\n
\n \".\"\n \".\"\n \".\" \n type\n \n \n Σ\n 0..1\n CodeableConcept\n Kind of material that forms the specimen\n
Binding: \n hl7VS-specimenType (\n Example)\n
\n
\n \".\"\n \".\"\n \".\" \n subject\n \n \n Σ\n 0..1\n Reference(\n Patient | \n Group | \n Device | \n BiologicallyDerivedProduct | \n Substance | \n Location)\n Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance, a biologically-derived product, or a device\n
\n
\n \".\"\n \".\"\n \".\" \n receivedTime\n \n \n Σ\n 0..1\n dateTime\n The time when specimen is received by the testing laboratory\n
\n
\n \".\"\n \".\"\n \".\" \n parent\n \n \n 0..*\n Reference(\n Specimen)\n Specimen from which this specimen originated\n
\n
\n
\n \".\"\n \".\"\n \".\" \n request\n \n \n 0..*\n Reference(\n ServiceRequest)\n Why the specimen was collected\n
\n
\n
\n \".\"\n \".\"\n \".\" \n combined\n \n \n Σ\n 0..1\n code\n grouped | pooled\n
Binding: \n Specimen Combined (\n Required)\n
\n
\n \".\"\n \".\"\n \".\" \n role\n \n \n 0..*\n CodeableConcept\n The role the specimen serves\n
Binding: \n Specimen Role (\n Preferred)\n
\n
\n
\n \".\"\n \".\"\n \".\" \n feature\n \n \n 0..*\n BackboneElement\n The physical feature of a specimen\n
\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n type\n \n \n 1..1\n CodeableConcept\n Highlighted feature\n
Binding: \n SNOMED CT Body Structures (\n Example)\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n description\n \n \n 1..1\n string\n Information about the feature\n
\n
\n \".\"\n \".\"\n \".\" \n collection\n \n \n 0..1\n BackboneElement\n Collection details\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n collector\n \n \n Σ\n 0..1\n Reference(\n Practitioner | \n PractitionerRole | \n Patient | \n RelatedPerson)\n Who collected the specimen\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n collected[x]\n \n \n Σ\n 0..1\n Collection time\n
\n
\n \".\"\n \".\"\n \".\"\n \".\"\n \".\" \n collectedDateTime\n \n \n \n dateTime\n \n
\n \".\"\n \".\"\n \".\"\n \".\"\n \".\" \n collectedPeriod\n \n \n \n Period\n \n
\n \".\"\n \".\"\n \".\"\n \".\" \n duration\n \n \n Σ\n 0..1\n Duration\n How long it took to collect specimen\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n quantity\n \n \n 0..1\n SimpleQuantity\n The quantity of specimen collected\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n method\n \n \n 0..1\n CodeableConcept\n Technique used to perform collection\n
Binding: \n FHIR Specimen Collection Method (\n Example)\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n device\n \n \n 0..1\n CodeableReference(\n Device)\n Device used to perform collection\n
Binding: SpecimenCollectionDevice (\n Example)\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n procedure\n \n \n 0..1\n Reference(\n Procedure)\n The procedure that collects the specimen\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n bodySite\n \n \n 0..1\n CodeableReference(\n BodyStructure)\n Anatomical collection site\n
Binding: \n SNOMED CT Body Structures (\n Example)\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n fastingStatus[x]\n \n \n Σ\n 0..1\n Whether or how long patient abstained from food and/or drink\n
Binding: \n hl7VS-relevantClincialInformation (\n Extensible)\n
\n
\n \".\"\n \".\"\n \".\"\n \".\"\n \".\" \n fastingStatusCodeableConcept\n \n \n \n CodeableConcept\n \n
\n \".\"\n \".\"\n \".\"\n \".\"\n \".\" \n fastingStatusDuration\n \n \n \n Duration\n \n
\n \".\"\n \".\"\n \".\" \n processing\n \n \n 0..*\n BackboneElement\n Processing and processing step details\n
\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n description\n \n \n 0..1\n string\n Textual description of procedure\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n method\n \n \n 0..1\n CodeableConcept\n Indicates the treatment step applied to the specimen\n
Binding: \n Specimen Processing Method (\n Example)\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n additive\n \n \n 0..*\n Reference(\n Substance)\n Material used in the processing step\n
\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n time[x]\n \n \n 0..1\n Date and time of specimen processing\n
\n
\n \".\"\n \".\"\n \".\"\n \".\"\n \".\" \n timeDateTime\n \n \n \n dateTime\n \n
\n \".\"\n \".\"\n \".\"\n \".\"\n \".\" \n timePeriod\n \n \n \n Period\n \n
\n \".\"\n \".\"\n \".\" \n container\n \n \n 0..*\n BackboneElement\n Direct container of specimen (tube/slide, etc.)\n
\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n device\n \n \n 1..1\n Reference(\n Device)\n Device resource for the container\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n location\n \n \n 0..1\n Reference(\n Location)\n Where the container is\n
\n
\n \".\"\n \".\"\n \".\"\n \".\" \n specimenQuantity\n \n \n 0..1\n SimpleQuantity\n Quantity of specimen within container\n
\n
\n \".\"\n \".\"\n \".\" \n condition\n \n \n Σ\n 0..*\n CodeableConcept\n State of the specimen\n
Binding: \n hl7VS-specimenCondition (\n Extensible)\n
\n
\n
\n \".\"\n \".\"\n \".\" \n note\n \n \n 0..*\n Annotation\n Comments\n
\n
\n
\n
\n \n \"doco\" Documentation for this format\n \n
\n
"},"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-category","valueString":"Clinical.Diagnostics"},{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status","valueCode":"trial-use"},{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm","valueInteger":2},{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category","valueCode":"patient"},{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-wg","valueCode":"oo"}],"url":"http://hl7.org/fhir/StructureDefinition/Specimen","version":"5.0.0","name":"Specimen","status":"draft","experimental":false,"date":"2023-03-26T15:21:02+11:00","publisher":"Health Level Seven International (Orders and Observations)","contact":[{"telecom":[{"system":"url","value":"http://hl7.org/fhir"}]},{"telecom":[{"system":"url","value":"http://www.hl7.org/Special/committees/orders/index.cfm"}]}],"description":"A sample to be used for analysis.","jurisdiction":[{"coding":[{"system":"http://unstats.un.org/unsd/methods/m49/m49.htm","code":"001","display":"World"}]}],"fhirVersion":"5.0.0","mapping":[{"identity":"w5","uri":"http://hl7.org/fhir/fivews","name":"FiveWs Pattern Mapping"},{"identity":"rim","uri":"http://hl7.org/v3","name":"RIM Mapping"},{"identity":"v2","uri":"http://hl7.org/v2","name":"HL7 V2 Mapping"}],"kind":"resource","abstract":false,"type":"Specimen","baseDefinition":"http://hl7.org/fhir/StructureDefinition/DomainResource","derivation":"specialization","snapshot":{"element":[{"id":"Specimen","path":"Specimen","short":"Sample for analysis","definition":"A sample to be used for analysis.","min":0,"max":"*","base":{"path":"Specimen","min":0,"max":"*"},"constraint":[{"key":"dom-2","severity":"error","human":"If the resource is contained in another resource, it SHALL NOT contain nested Resources","expression":"contained.contained.empty()","source":"http://hl7.org/fhir/StructureDefinition/DomainResource"},{"key":"dom-3","severity":"error","human":"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","expression":"contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()","source":"http://hl7.org/fhir/StructureDefinition/DomainResource"},{"key":"dom-4","severity":"error","human":"If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated","expression":"contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()","source":"http://hl7.org/fhir/StructureDefinition/DomainResource"},{"key":"dom-5","severity":"error","human":"If a resource is contained in another resource, it SHALL NOT have a security label","expression":"contained.meta.security.empty()","source":"http://hl7.org/fhir/StructureDefinition/DomainResource"},{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice","valueBoolean":true},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation","valueMarkdown":"When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."}],"key":"dom-6","severity":"warning","human":"A resource should have narrative for robust management","expression":"text.`div`.exists()","source":"http://hl7.org/fhir/StructureDefinition/DomainResource"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"Entity, Role, or Act,Role[classCode=SPEC]"},{"identity":"w5","map":"clinical.diagnostics"}]},{"id":"Specimen.id","path":"Specimen.id","short":"Logical id of this artifact","definition":"The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.","comment":"Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.","min":0,"max":"1","base":{"path":"Resource.id","min":0,"max":"1"},"type":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type","valueUrl":"id"}],"code":"http://hl7.org/fhirpath/System.String"}],"mustSupport":false,"isModifier":false,"isSummary":true},{"id":"Specimen.meta","path":"Specimen.meta","short":"Metadata about the resource","definition":"The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.","min":0,"max":"1","base":{"path":"Resource.meta","min":0,"max":"1"},"type":[{"code":"Meta"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true},{"id":"Specimen.implicitRules","path":"Specimen.implicitRules","short":"A set of rules under which this content was created","definition":"A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.","comment":"Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.","min":0,"max":"1","base":{"path":"Resource.implicitRules","min":0,"max":"1"},"type":[{"code":"uri"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":true,"isModifierReason":"This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation","isSummary":true},{"id":"Specimen.language","path":"Specimen.language","short":"Language of the resource content","definition":"The base language in which the resource is written.","comment":"Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).","min":0,"max":"1","base":{"path":"Resource.language","min":0,"max":"1"},"type":[{"code":"code"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"Language"},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding","valueBoolean":true}],"strength":"required","description":"IETF language tag for a human language","valueSet":"http://hl7.org/fhir/ValueSet/all-languages|5.0.0","additional":[{"purpose":"starter","valueSet":"http://hl7.org/fhir/ValueSet/languages"}]}},{"id":"Specimen.text","path":"Specimen.text","short":"Text summary of the resource, for human interpretation","definition":"A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.","comment":"Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.","alias":["narrative","html","xhtml","display"],"min":0,"max":"1","base":{"path":"DomainResource.text","min":0,"max":"1"},"type":[{"code":"Narrative"}],"condition":["dom-6"],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"Act.text?"}]},{"id":"Specimen.contained","path":"Specimen.contained","short":"Contained, inline Resources","definition":"These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.","comment":"This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.","alias":["inline resources","anonymous resources","contained resources"],"min":0,"max":"*","base":{"path":"DomainResource.contained","min":0,"max":"*"},"type":[{"code":"Resource"}],"condition":["dom-2","dom-4","dom-3","dom-5"],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"N/A"}]},{"id":"Specimen.extension","path":"Specimen.extension","short":"Additional content defined by implementations","definition":"May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","alias":["extensions","user content"],"min":0,"max":"*","base":{"path":"DomainResource.extension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"N/A"}]},{"id":"Specimen.modifierExtension","path":"Specimen.modifierExtension","short":"Extensions that cannot be ignored","definition":"May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","requirements":"Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).","alias":["extensions","user content"],"min":0,"max":"*","base":{"path":"DomainResource.modifierExtension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"mustSupport":false,"isModifier":true,"isModifierReason":"Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them","isSummary":true,"mapping":[{"identity":"rim","map":"N/A"}]},{"id":"Specimen.identifier","path":"Specimen.identifier","short":"External Identifier","definition":"Id for specimen.","min":0,"max":"*","base":{"path":"Specimen.identifier","min":0,"max":"*"},"type":[{"code":"Identifier"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.identifier"},{"identity":"v2","map":"SPM-2"},{"identity":"rim","map":".id"}]},{"id":"Specimen.accessionIdentifier","path":"Specimen.accessionIdentifier","short":"Identifier assigned by the lab","definition":"The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures.","min":0,"max":"1","base":{"path":"Specimen.accessionIdentifier","min":0,"max":"1"},"type":[{"code":"Identifier"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.identifier"},{"identity":"v2","map":"SPM-30 (v2.7+)"},{"identity":"rim","map":".participation[typeCode=SBJ].act[classCode=ACSN, moodCode=EVN].id"}]},{"id":"Specimen.status","path":"Specimen.status","short":"available | unavailable | unsatisfactory | entered-in-error","definition":"The availability of the specimen.","comment":"This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.","min":0,"max":"1","base":{"path":"Specimen.status","min":0,"max":"1"},"type":[{"code":"code"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":true,"isModifierReason":"This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid","isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenStatus"}],"strength":"required","description":"Codes providing the status/availability of a specimen.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-status|5.0.0"},"mapping":[{"identity":"w5","map":"FiveWs.status"},{"identity":"v2","map":"SPM-20"},{"identity":"rim","map":"status"}]},{"id":"Specimen.type","path":"Specimen.type","short":"Kind of material that forms the specimen","definition":"The kind of material that forms the specimen.","comment":"The type can change the way that a specimen is handled and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems.","min":0,"max":"1","base":{"path":"Specimen.type","min":0,"max":"1"},"type":[{"code":"CodeableConcept"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenType"}],"strength":"example","description":"The type of the specimen.","valueSet":"http://terminology.hl7.org/ValueSet/v2-0487"},"mapping":[{"identity":"w5","map":"FiveWs.what[x]"},{"identity":"v2","map":"SPM-4 and possibly SPM-5"},{"identity":"rim","map":".code"}]},{"id":"Specimen.subject","path":"Specimen.subject","short":"Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance, a biologically-derived product, or a device","definition":"Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance, a biologically-derived product, or a device.","requirements":"Must know the subject context.","min":0,"max":"1","base":{"path":"Specimen.subject","min":0,"max":"1"},"type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Patient","http://hl7.org/fhir/StructureDefinition/Group","http://hl7.org/fhir/StructureDefinition/Device","http://hl7.org/fhir/StructureDefinition/BiologicallyDerivedProduct","http://hl7.org/fhir/StructureDefinition/Substance","http://hl7.org/fhir/StructureDefinition/Location"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.subject[x]"},{"identity":"rim","map":".scoper or .scoper.playsRole"}]},{"id":"Specimen.receivedTime","path":"Specimen.receivedTime","short":"The time when specimen is received by the testing laboratory","definition":"Time when specimen is received by the testing laboratory for processing or testing.","min":0,"max":"1","base":{"path":"Specimen.receivedTime","min":0,"max":"1"},"type":[{"code":"dateTime"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.done[x]"},{"identity":"v2","map":"SPM-18"},{"identity":"rim","map":".participation[typeCode=SBJ].act[code=SPCREC, moodCode=EVN].effectiveTime"}]},{"id":"Specimen.parent","path":"Specimen.parent","short":"Specimen from which this specimen originated","definition":"Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen.","comment":"The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample.","min":0,"max":"*","base":{"path":"Specimen.parent","min":0,"max":"*"},"type":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy","valueBoolean":true}],"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Specimen"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".scoper (if parent) .player.scopesRole[classCode=SPEC].player (if child)"}]},{"id":"Specimen.request","path":"Specimen.request","short":"Why the specimen was collected","definition":"Details concerning a service request that required a specimen to be collected.","comment":"The request may be explicit or implied such with a ServiceRequest that requires a blood draw.","min":0,"max":"*","base":{"path":"Specimen.request","min":0,"max":"*"},"type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/ServiceRequest"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"w5","map":"FiveWs.why[x]"},{"identity":"v2","map":"ORC? OBR-2/3?"},{"identity":"rim","map":"outboundRelationship[typeCode=FLFS].target"}]},{"id":"Specimen.combined","path":"Specimen.combined","short":"grouped | pooled","definition":"This element signifies if the specimen is part of a group or pooled.","min":0,"max":"1","base":{"path":"Specimen.combined","min":0,"max":"1"},"type":[{"code":"code"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"PublicationStatus"},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding","valueBoolean":true}],"strength":"required","description":"Codes for the combined status of a specimen.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-combined|5.0.0"}},{"id":"Specimen.role","path":"Specimen.role","short":"The role the specimen serves","definition":"The role or reason for the specimen in the testing workflow.","min":0,"max":"*","base":{"path":"Specimen.role","min":0,"max":"*"},"type":[{"code":"CodeableConcept"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/tools/StructureDefinition/binding-definition","valueString":"Codes describing specimen role."},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenRole"}],"strength":"preferred","description":"Codes describing specimen role.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-role"},"mapping":[{"identity":"v2","map":"SPM-10"}]},{"id":"Specimen.feature","path":"Specimen.feature","short":"The physical feature of a specimen","definition":"A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location).","min":0,"max":"*","base":{"path":"Specimen.feature","min":0,"max":"*"},"type":[{"code":"BackboneElement"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".player.scopingRole[classCode=FEAT].scoper"}]},{"id":"Specimen.feature.id","path":"Specimen.feature.id","representation":["xmlAttr"],"short":"Unique id for inter-element referencing","definition":"Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.","min":0,"max":"1","base":{"path":"Element.id","min":0,"max":"1"},"type":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type","valueUrl":"string"}],"code":"http://hl7.org/fhirpath/System.String"}],"condition":["ele-1"],"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"n/a"}]},{"id":"Specimen.feature.extension","path":"Specimen.feature.extension","short":"Additional content defined by implementations","definition":"May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","alias":["extensions","user content"],"min":0,"max":"*","base":{"path":"Element.extension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"n/a"}]},{"id":"Specimen.feature.modifierExtension","path":"Specimen.feature.modifierExtension","short":"Extensions that cannot be ignored even if unrecognized","definition":"May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","requirements":"Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).","alias":["extensions","user content","modifiers"],"min":0,"max":"*","base":{"path":"BackboneElement.modifierExtension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"isModifier":true,"isModifierReason":"Modifier extensions are expected to modify the meaning or interpretation of the element that contains them","isSummary":true,"mapping":[{"identity":"rim","map":"N/A"}]},{"id":"Specimen.feature.type","path":"Specimen.feature.type","short":"Highlighted feature","definition":"The landmark or feature being highlighted.","min":1,"max":"1","base":{"path":"Specimen.feature.type","min":1,"max":"1"},"type":[{"code":"CodeableConcept"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/tools/StructureDefinition/binding-definition","valueString":"Codes describing anatomical feature."},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenFeatureType"}],"strength":"example","description":"SNOMED CT Body site concepts","valueSet":"http://hl7.org/fhir/ValueSet/body-site"},"mapping":[{"identity":"w5","map":"FiveWs.what[x]"},{"identity":"rim","map":".code"}]},{"id":"Specimen.feature.description","path":"Specimen.feature.description","short":"Information about the feature","definition":"Description of the feature of the specimen.","min":1,"max":"1","base":{"path":"Specimen.feature.description","min":1,"max":"1"},"type":[{"code":"string"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".text"}]},{"id":"Specimen.collection","path":"Specimen.collection","short":"Collection details","definition":"Details concerning the specimen collection.","min":0,"max":"1","base":{"path":"Specimen.collection","min":0,"max":"1"},"type":[{"code":"BackboneElement"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"SPM-14"},{"identity":"rim","map":".participation[typeCode=SBJ].act[classCode=SPECCOLLECT, moodCode=EVN]"}]},{"id":"Specimen.collection.id","path":"Specimen.collection.id","representation":["xmlAttr"],"short":"Unique id for inter-element referencing","definition":"Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.","min":0,"max":"1","base":{"path":"Element.id","min":0,"max":"1"},"type":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type","valueUrl":"string"}],"code":"http://hl7.org/fhirpath/System.String"}],"condition":["ele-1"],"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"n/a"}]},{"id":"Specimen.collection.extension","path":"Specimen.collection.extension","short":"Additional content defined by implementations","definition":"May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","alias":["extensions","user content"],"min":0,"max":"*","base":{"path":"Element.extension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"n/a"}]},{"id":"Specimen.collection.modifierExtension","path":"Specimen.collection.modifierExtension","short":"Extensions that cannot be ignored even if unrecognized","definition":"May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","requirements":"Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).","alias":["extensions","user content","modifiers"],"min":0,"max":"*","base":{"path":"BackboneElement.modifierExtension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"isModifier":true,"isModifierReason":"Modifier extensions are expected to modify the meaning or interpretation of the element that contains them","isSummary":true,"mapping":[{"identity":"rim","map":"N/A"}]},{"id":"Specimen.collection.collector","path":"Specimen.collection.collector","short":"Who collected the specimen","definition":"Person who collected the specimen.","min":0,"max":"1","base":{"path":"Specimen.collection.collector","min":0,"max":"1"},"type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Practitioner","http://hl7.org/fhir/StructureDefinition/PractitionerRole","http://hl7.org/fhir/StructureDefinition/Patient","http://hl7.org/fhir/StructureDefinition/RelatedPerson"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.actor"},{"identity":"v2","map":"PRT"},{"identity":"rim","map":".participation[typeCode=PFM].role"}]},{"id":"Specimen.collection.collected[x]","path":"Specimen.collection.collected[x]","short":"Collection time","definition":"Time when specimen was collected from subject - the physiologically relevant time.","min":0,"max":"1","base":{"path":"Specimen.collection.collected[x]","min":0,"max":"1"},"type":[{"code":"dateTime"},{"code":"Period"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.init"},{"identity":"v2","map":"SPM-17"},{"identity":"rim","map":".effectiveTime"}]},{"id":"Specimen.collection.duration","path":"Specimen.collection.duration","short":"How long it took to collect specimen","definition":"The span of time over which the collection of a specimen occurred.","min":0,"max":"1","base":{"path":"Specimen.collection.duration","min":0,"max":"1"},"type":[{"code":"Duration"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.init"}]},{"id":"Specimen.collection.quantity","path":"Specimen.collection.quantity","short":"The quantity of specimen collected","definition":"The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample.","min":0,"max":"1","base":{"path":"Specimen.collection.quantity","min":0,"max":"1"},"type":[{"code":"Quantity","profile":["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"SPM-12"},{"identity":"rim","map":".participation[typeCode=SBJ].role[classCode=SPEC].player.quantity"}]},{"id":"Specimen.collection.method","path":"Specimen.collection.method","short":"Technique used to perform collection","definition":"A coded value specifying the technique that is used to perform the procedure.","min":0,"max":"1","base":{"path":"Specimen.collection.method","min":0,"max":"1"},"type":[{"code":"CodeableConcept"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenCollectionMethod"}],"strength":"example","description":"The technique that is used to perform the procedure.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-collection-method"},"mapping":[{"identity":"v2","map":"SPM-7"},{"identity":"rim","map":".methodCode"}]},{"id":"Specimen.collection.device","path":"Specimen.collection.device","short":"Device used to perform collection","definition":"A coded value specifying the technique that is used to perform the procedure.","min":0,"max":"1","base":{"path":"Specimen.collection.device","min":0,"max":"1"},"type":[{"code":"CodeableReference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Device"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenCollectionDevice"}],"strength":"example","description":"The device that was used to obtain the specimen (e.g. a catheter or catheter part used to draw the blood via a central line)."},"mapping":[{"identity":"v2","map":"SPM-14"},{"identity":"rim","map":"participation[typeCode=DEV]"}]},{"id":"Specimen.collection.procedure","path":"Specimen.collection.procedure","short":"The procedure that collects the specimen","definition":"The procedure event during which the specimen was collected (e.g. the surgery leading to the collection of a pathology sample).","min":0,"max":"1","base":{"path":"Specimen.collection.procedure","min":0,"max":"1"},"type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Procedure"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false},{"id":"Specimen.collection.bodySite","path":"Specimen.collection.bodySite","short":"Anatomical collection site","definition":"Anatomical location from which the specimen was collected (if subject is a patient). This is the target site. This element is not used for environmental specimens.","comment":"Reasons for using BodyStructure reference include: 1.) Need to identify a specific site instance (e.g. a specific mole), 2.) a single pre-coordinated coded concept for the body site does not exist, 3.) a desire to represent bodySite using multiple attributes (e.g. modifiers).","min":0,"max":"1","base":{"path":"Specimen.collection.bodySite","min":0,"max":"1"},"type":[{"code":"CodeableReference","targetProfile":["http://hl7.org/fhir/StructureDefinition/BodyStructure"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/tools/StructureDefinition/binding-definition","valueString":"Codes describing anatomical locations. May include laterality."},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"BodySite"}],"strength":"example","description":"SNOMED CT Body site concepts","valueSet":"http://hl7.org/fhir/ValueSet/body-site"},"mapping":[{"identity":"v2","map":"SPM-8 and SPM-9"},{"identity":"rim","map":".targetSiteCode"}]},{"id":"Specimen.collection.fastingStatus[x]","path":"Specimen.collection.fastingStatus[x]","short":"Whether or how long patient abstained from food and/or drink","definition":"Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collection.","comment":"Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation ` such as `Observation.component code` = LOINC 49541-6 (Fasting status - Reported).","requirements":"Many diagnostic tests require fasting to facilitate accurate interpretation.","min":0,"max":"1","base":{"path":"Specimen.collection.fastingStatus[x]","min":0,"max":"1"},"type":[{"code":"CodeableConcept"},{"code":"Duration"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"FastingStatus"}],"strength":"extensible","description":"Codes describing the fasting status of the patient.","valueSet":"http://terminology.hl7.org/ValueSet/v2-0916"},"mapping":[{"identity":"v2","map":"OBR-"}]},{"id":"Specimen.processing","path":"Specimen.processing","short":"Processing and processing step details","definition":"Details concerning processing and processing steps for the specimen.","min":0,"max":"*","base":{"path":"Specimen.processing","min":0,"max":"*"},"type":[{"code":"BackboneElement"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".participation[typeCode=SBJ].act[code=SPCTRT, moodCode=EVN]"}]},{"id":"Specimen.processing.id","path":"Specimen.processing.id","representation":["xmlAttr"],"short":"Unique id for inter-element referencing","definition":"Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.","min":0,"max":"1","base":{"path":"Element.id","min":0,"max":"1"},"type":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type","valueUrl":"string"}],"code":"http://hl7.org/fhirpath/System.String"}],"condition":["ele-1"],"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"n/a"}]},{"id":"Specimen.processing.extension","path":"Specimen.processing.extension","short":"Additional content defined by implementations","definition":"May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","alias":["extensions","user content"],"min":0,"max":"*","base":{"path":"Element.extension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"n/a"}]},{"id":"Specimen.processing.modifierExtension","path":"Specimen.processing.modifierExtension","short":"Extensions that cannot be ignored even if unrecognized","definition":"May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","requirements":"Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).","alias":["extensions","user content","modifiers"],"min":0,"max":"*","base":{"path":"BackboneElement.modifierExtension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"isModifier":true,"isModifierReason":"Modifier extensions are expected to modify the meaning or interpretation of the element that contains them","isSummary":true,"mapping":[{"identity":"rim","map":"N/A"}]},{"id":"Specimen.processing.description","path":"Specimen.processing.description","short":"Textual description of procedure","definition":"Textual description of procedure.","min":0,"max":"1","base":{"path":"Specimen.processing.description","min":0,"max":"1"},"type":[{"code":"string"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".text"}]},{"id":"Specimen.processing.method","path":"Specimen.processing.method","short":"Indicates the treatment step applied to the specimen","definition":"A coded value specifying the method used to process the specimen.","min":0,"max":"1","base":{"path":"Specimen.processing.method","min":0,"max":"1"},"type":[{"code":"CodeableConcept"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenProcessingMethod"}],"strength":"example","description":"Type indicating the technique used to process the specimen.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-processing-method"},"mapping":[{"identity":"rim","map":".code"}]},{"id":"Specimen.processing.additive","path":"Specimen.processing.additive","short":"Material used in the processing step","definition":"Material used in the processing step.","min":0,"max":"*","base":{"path":"Specimen.processing.additive","min":0,"max":"*"},"type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Substance"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"SPM-6"},{"identity":"rim","map":".participation[typeCode=CSM].role[classCode=ADTV].code"}]},{"id":"Specimen.processing.time[x]","path":"Specimen.processing.time[x]","short":"Date and time of specimen processing","definition":"A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin.","min":0,"max":"1","base":{"path":"Specimen.processing.time[x]","min":0,"max":"1"},"type":[{"code":"dateTime"},{"code":"Period"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".effectiveTime"}]},{"id":"Specimen.container","path":"Specimen.container","short":"Direct container of specimen (tube/slide, etc.)","definition":"The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here.","min":0,"max":"*","base":{"path":"Specimen.container","min":0,"max":"*"},"type":[{"code":"BackboneElement"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".player.scopingRole[classCode=CONT].scoper"}]},{"id":"Specimen.container.id","path":"Specimen.container.id","representation":["xmlAttr"],"short":"Unique id for inter-element referencing","definition":"Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.","min":0,"max":"1","base":{"path":"Element.id","min":0,"max":"1"},"type":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type","valueUrl":"string"}],"code":"http://hl7.org/fhirpath/System.String"}],"condition":["ele-1"],"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"n/a"}]},{"id":"Specimen.container.extension","path":"Specimen.container.extension","short":"Additional content defined by implementations","definition":"May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","alias":["extensions","user content"],"min":0,"max":"*","base":{"path":"Element.extension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"n/a"}]},{"id":"Specimen.container.modifierExtension","path":"Specimen.container.modifierExtension","short":"Extensions that cannot be ignored even if unrecognized","definition":"May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).","comment":"There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.","requirements":"Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).","alias":["extensions","user content","modifiers"],"min":0,"max":"*","base":{"path":"BackboneElement.modifierExtension","min":0,"max":"*"},"type":[{"code":"Extension"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"},{"key":"ext-1","severity":"error","human":"Must have either extensions or value[x], not both","expression":"extension.exists() != value.exists()","source":"http://hl7.org/fhir/StructureDefinition/Extension"}],"isModifier":true,"isModifierReason":"Modifier extensions are expected to modify the meaning or interpretation of the element that contains them","isSummary":true,"mapping":[{"identity":"rim","map":"N/A"}]},{"id":"Specimen.container.device","path":"Specimen.container.device","short":"Device resource for the container","definition":"The device resource for the the container holding the specimen. If the container is in a holder then the referenced device will point to a parent device.","min":1,"max":"1","base":{"path":"Specimen.container.device","min":1,"max":"1"},"type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Device"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"participation[typeCode=DEV]"}]},{"id":"Specimen.container.location","path":"Specimen.container.location","short":"Where the container is","definition":"The location of the container holding the specimen.","min":0,"max":"1","base":{"path":"Specimen.container.location","min":0,"max":"1"},"type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Location"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"w5","map":"FiveWs.where[x]"},{"identity":"rim","map":".participation[typeCode=LOC].role"}]},{"id":"Specimen.container.specimenQuantity","path":"Specimen.container.specimenQuantity","short":"Quantity of specimen within container","definition":"The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type.","min":0,"max":"1","base":{"path":"Specimen.container.specimenQuantity","min":0,"max":"1"},"type":[{"code":"Quantity","profile":["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"SAC-23 (value) SAC-24 (units"},{"identity":"rim","map":".playedRole[classCode=CONT].quantity"}]},{"id":"Specimen.condition","path":"Specimen.condition","short":"State of the specimen","definition":"A mode or state of being that describes the nature of the specimen.","comment":"Specimen condition is an observation made about the specimen. It's a point-in-time assessment. It can be used to assess its quality or appropriateness for a specific test.","requirements":"The specimen condition can be used to assess its quality or appropriateness for a specific test.","min":0,"max":"*","base":{"path":"Specimen.condition","min":0,"max":"*"},"type":[{"code":"CodeableConcept"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenCondition"}],"strength":"extensible","description":"Codes describing the state of the specimen.","valueSet":"http://terminology.hl7.org/ValueSet/v2-0493"},"mapping":[{"identity":"v2","map":"SPM-24"}]},{"id":"Specimen.note","path":"Specimen.note","short":"Comments","definition":"To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen).","min":0,"max":"*","base":{"path":"Specimen.note","min":0,"max":"*"},"type":[{"code":"Annotation"}],"constraint":[{"key":"ele-1","severity":"error","human":"All FHIR elements must have a @value or children","expression":"hasValue() or (children().count() > id.count())","source":"http://hl7.org/fhir/StructureDefinition/Element"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"OBX"},{"identity":"rim","map":".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value"}]}]},"differential":{"element":[{"id":"Specimen","path":"Specimen","short":"Sample for analysis","definition":"A sample to be used for analysis.","min":0,"max":"*","mustSupport":false,"isModifier":false,"mapping":[{"identity":"w5","map":"clinical.diagnostics"},{"identity":"rim","map":"Role[classCode=SPEC]"}]},{"id":"Specimen.identifier","path":"Specimen.identifier","short":"External Identifier","definition":"Id for specimen.","min":0,"max":"*","type":[{"code":"Identifier"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.identifier"},{"identity":"v2","map":"SPM-2"},{"identity":"rim","map":".id"}]},{"id":"Specimen.accessionIdentifier","path":"Specimen.accessionIdentifier","short":"Identifier assigned by the lab","definition":"The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures.","min":0,"max":"1","type":[{"code":"Identifier"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.identifier"},{"identity":"v2","map":"SPM-30 (v2.7+)"},{"identity":"rim","map":".participation[typeCode=SBJ].act[classCode=ACSN, moodCode=EVN].id"}]},{"id":"Specimen.status","path":"Specimen.status","short":"available | unavailable | unsatisfactory | entered-in-error","definition":"The availability of the specimen.","comment":"This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.","min":0,"max":"1","type":[{"code":"code"}],"mustSupport":false,"isModifier":true,"isModifierReason":"This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid","isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenStatus"}],"strength":"required","description":"Codes providing the status/availability of a specimen.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-status|5.0.0"},"mapping":[{"identity":"w5","map":"FiveWs.status"},{"identity":"v2","map":"SPM-20"},{"identity":"rim","map":"status"}]},{"id":"Specimen.type","path":"Specimen.type","short":"Kind of material that forms the specimen","definition":"The kind of material that forms the specimen.","comment":"The type can change the way that a specimen is handled and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems.","min":0,"max":"1","type":[{"code":"CodeableConcept"}],"mustSupport":false,"isModifier":false,"isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenType"}],"strength":"example","description":"The type of the specimen.","valueSet":"http://terminology.hl7.org/ValueSet/v2-0487"},"mapping":[{"identity":"w5","map":"FiveWs.what[x]"},{"identity":"v2","map":"SPM-4 and possibly SPM-5"},{"identity":"rim","map":".code"}]},{"id":"Specimen.subject","path":"Specimen.subject","short":"Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance, a biologically-derived product, or a device","definition":"Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance, a biologically-derived product, or a device.","requirements":"Must know the subject context.","min":0,"max":"1","type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Patient","http://hl7.org/fhir/StructureDefinition/Group","http://hl7.org/fhir/StructureDefinition/Device","http://hl7.org/fhir/StructureDefinition/BiologicallyDerivedProduct","http://hl7.org/fhir/StructureDefinition/Substance","http://hl7.org/fhir/StructureDefinition/Location"]}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.subject[x]"},{"identity":"rim","map":".scoper or .scoper.playsRole"}]},{"id":"Specimen.receivedTime","path":"Specimen.receivedTime","short":"The time when specimen is received by the testing laboratory","definition":"Time when specimen is received by the testing laboratory for processing or testing.","min":0,"max":"1","type":[{"code":"dateTime"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.done[x]"},{"identity":"v2","map":"SPM-18"},{"identity":"rim","map":".participation[typeCode=SBJ].act[code=SPCREC, moodCode=EVN].effectiveTime"}]},{"id":"Specimen.parent","path":"Specimen.parent","short":"Specimen from which this specimen originated","definition":"Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen.","comment":"The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample.","min":0,"max":"*","type":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy","valueBoolean":true}],"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Specimen"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".scoper (if parent) .player.scopesRole[classCode=SPEC].player (if child)"}]},{"id":"Specimen.request","path":"Specimen.request","short":"Why the specimen was collected","definition":"Details concerning a service request that required a specimen to be collected.","comment":"The request may be explicit or implied such with a ServiceRequest that requires a blood draw.","min":0,"max":"*","type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/ServiceRequest"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"w5","map":"FiveWs.why[x]"},{"identity":"v2","map":"ORC? OBR-2/3?"},{"identity":"rim","map":"outboundRelationship[typeCode=FLFS].target"}]},{"id":"Specimen.combined","path":"Specimen.combined","short":"grouped | pooled","definition":"This element signifies if the specimen is part of a group or pooled.","min":0,"max":"1","type":[{"code":"code"}],"mustSupport":false,"isModifier":false,"isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"PublicationStatus"},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding","valueBoolean":true}],"strength":"required","description":"Codes for the combined status of a specimen.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-combined|5.0.0"}},{"id":"Specimen.role","path":"Specimen.role","short":"The role the specimen serves","definition":"The role or reason for the specimen in the testing workflow.","min":0,"max":"*","type":[{"code":"CodeableConcept"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/tools/StructureDefinition/binding-definition","valueString":"Codes describing specimen role."},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenRole"}],"strength":"preferred","description":"Codes describing specimen role.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-role"},"mapping":[{"identity":"v2","map":"SPM-10"}]},{"id":"Specimen.feature","path":"Specimen.feature","short":"The physical feature of a specimen","definition":"A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location).","min":0,"max":"*","type":[{"code":"BackboneElement"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".player.scopingRole[classCode=FEAT].scoper"}]},{"id":"Specimen.feature.type","path":"Specimen.feature.type","short":"Highlighted feature","definition":"The landmark or feature being highlighted.","min":1,"max":"1","type":[{"code":"CodeableConcept"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/tools/StructureDefinition/binding-definition","valueString":"Codes describing anatomical feature."},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenFeatureType"}],"strength":"example","description":"SNOMED CT Body site concepts","valueSet":"http://hl7.org/fhir/ValueSet/body-site"},"mapping":[{"identity":"w5","map":"FiveWs.what[x]"},{"identity":"rim","map":".code"}]},{"id":"Specimen.feature.description","path":"Specimen.feature.description","short":"Information about the feature","definition":"Description of the feature of the specimen.","min":1,"max":"1","type":[{"code":"string"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".text"}]},{"id":"Specimen.collection","path":"Specimen.collection","short":"Collection details","definition":"Details concerning the specimen collection.","min":0,"max":"1","type":[{"code":"BackboneElement"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"SPM-14"},{"identity":"rim","map":".participation[typeCode=SBJ].act[classCode=SPECCOLLECT, moodCode=EVN]"}]},{"id":"Specimen.collection.collector","path":"Specimen.collection.collector","short":"Who collected the specimen","definition":"Person who collected the specimen.","min":0,"max":"1","type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Practitioner","http://hl7.org/fhir/StructureDefinition/PractitionerRole","http://hl7.org/fhir/StructureDefinition/Patient","http://hl7.org/fhir/StructureDefinition/RelatedPerson"]}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.actor"},{"identity":"v2","map":"PRT"},{"identity":"rim","map":".participation[typeCode=PFM].role"}]},{"id":"Specimen.collection.collected[x]","path":"Specimen.collection.collected[x]","short":"Collection time","definition":"Time when specimen was collected from subject - the physiologically relevant time.","min":0,"max":"1","type":[{"code":"dateTime"},{"code":"Period"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.init"},{"identity":"v2","map":"SPM-17"},{"identity":"rim","map":".effectiveTime"}]},{"id":"Specimen.collection.duration","path":"Specimen.collection.duration","short":"How long it took to collect specimen","definition":"The span of time over which the collection of a specimen occurred.","min":0,"max":"1","type":[{"code":"Duration"}],"mustSupport":false,"isModifier":false,"isSummary":true,"mapping":[{"identity":"w5","map":"FiveWs.init"}]},{"id":"Specimen.collection.quantity","path":"Specimen.collection.quantity","short":"The quantity of specimen collected","definition":"The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample.","min":0,"max":"1","type":[{"code":"Quantity","profile":["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"SPM-12"},{"identity":"rim","map":".participation[typeCode=SBJ].role[classCode=SPEC].player.quantity"}]},{"id":"Specimen.collection.method","path":"Specimen.collection.method","short":"Technique used to perform collection","definition":"A coded value specifying the technique that is used to perform the procedure.","min":0,"max":"1","type":[{"code":"CodeableConcept"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenCollectionMethod"}],"strength":"example","description":"The technique that is used to perform the procedure.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-collection-method"},"mapping":[{"identity":"v2","map":"SPM-7"},{"identity":"rim","map":".methodCode"}]},{"id":"Specimen.collection.device","path":"Specimen.collection.device","short":"Device used to perform collection","definition":"A coded value specifying the technique that is used to perform the procedure.","min":0,"max":"1","type":[{"code":"CodeableReference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Device"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenCollectionDevice"}],"strength":"example","description":"The device that was used to obtain the specimen (e.g. a catheter or catheter part used to draw the blood via a central line)."},"mapping":[{"identity":"v2","map":"SPM-14"},{"identity":"rim","map":"participation[typeCode=DEV]"}]},{"id":"Specimen.collection.procedure","path":"Specimen.collection.procedure","short":"The procedure that collects the specimen","definition":"The procedure event during which the specimen was collected (e.g. the surgery leading to the collection of a pathology sample).","min":0,"max":"1","type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Procedure"]}],"mustSupport":false,"isModifier":false,"isSummary":false},{"id":"Specimen.collection.bodySite","path":"Specimen.collection.bodySite","short":"Anatomical collection site","definition":"Anatomical location from which the specimen was collected (if subject is a patient). This is the target site. This element is not used for environmental specimens.","comment":"Reasons for using BodyStructure reference include: 1.) Need to identify a specific site instance (e.g. a specific mole), 2.) a single pre-coordinated coded concept for the body site does not exist, 3.) a desire to represent bodySite using multiple attributes (e.g. modifiers).","min":0,"max":"1","type":[{"code":"CodeableReference","targetProfile":["http://hl7.org/fhir/StructureDefinition/BodyStructure"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/tools/StructureDefinition/binding-definition","valueString":"Codes describing anatomical locations. May include laterality."},{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"BodySite"}],"strength":"example","description":"SNOMED CT Body site concepts","valueSet":"http://hl7.org/fhir/ValueSet/body-site"},"mapping":[{"identity":"v2","map":"SPM-8 and SPM-9"},{"identity":"rim","map":".targetSiteCode"}]},{"id":"Specimen.collection.fastingStatus[x]","path":"Specimen.collection.fastingStatus[x]","short":"Whether or how long patient abstained from food and/or drink","definition":"Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collection.","comment":"Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/​time] in 2 hour Urine --12 hours fasting), or using a component observation ` such as `Observation.component code` = LOINC 49541-6 (Fasting status - Reported).","requirements":"Many diagnostic tests require fasting to facilitate accurate interpretation.","min":0,"max":"1","type":[{"code":"CodeableConcept"},{"code":"Duration"}],"mustSupport":false,"isModifier":false,"isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"FastingStatus"}],"strength":"extensible","description":"Codes describing the fasting status of the patient.","valueSet":"http://terminology.hl7.org/ValueSet/v2-0916"},"mapping":[{"identity":"v2","map":"OBR-"}]},{"id":"Specimen.processing","path":"Specimen.processing","short":"Processing and processing step details","definition":"Details concerning processing and processing steps for the specimen.","min":0,"max":"*","type":[{"code":"BackboneElement"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".participation[typeCode=SBJ].act[code=SPCTRT, moodCode=EVN]"}]},{"id":"Specimen.processing.description","path":"Specimen.processing.description","short":"Textual description of procedure","definition":"Textual description of procedure.","min":0,"max":"1","type":[{"code":"string"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".text"}]},{"id":"Specimen.processing.method","path":"Specimen.processing.method","short":"Indicates the treatment step applied to the specimen","definition":"A coded value specifying the method used to process the specimen.","min":0,"max":"1","type":[{"code":"CodeableConcept"}],"mustSupport":false,"isModifier":false,"isSummary":false,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenProcessingMethod"}],"strength":"example","description":"Type indicating the technique used to process the specimen.","valueSet":"http://hl7.org/fhir/ValueSet/specimen-processing-method"},"mapping":[{"identity":"rim","map":".code"}]},{"id":"Specimen.processing.additive","path":"Specimen.processing.additive","short":"Material used in the processing step","definition":"Material used in the processing step.","min":0,"max":"*","type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Substance"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"SPM-6"},{"identity":"rim","map":".participation[typeCode=CSM].role[classCode=ADTV].code"}]},{"id":"Specimen.processing.time[x]","path":"Specimen.processing.time[x]","short":"Date and time of specimen processing","definition":"A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin.","min":0,"max":"1","type":[{"code":"dateTime"},{"code":"Period"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".effectiveTime"}]},{"id":"Specimen.container","path":"Specimen.container","short":"Direct container of specimen (tube/slide, etc.)","definition":"The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here.","min":0,"max":"*","type":[{"code":"BackboneElement"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":".player.scopingRole[classCode=CONT].scoper"}]},{"id":"Specimen.container.device","path":"Specimen.container.device","short":"Device resource for the container","definition":"The device resource for the the container holding the specimen. If the container is in a holder then the referenced device will point to a parent device.","min":1,"max":"1","type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Device"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"rim","map":"participation[typeCode=DEV]"}]},{"id":"Specimen.container.location","path":"Specimen.container.location","short":"Where the container is","definition":"The location of the container holding the specimen.","min":0,"max":"1","type":[{"code":"Reference","targetProfile":["http://hl7.org/fhir/StructureDefinition/Location"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"w5","map":"FiveWs.where[x]"},{"identity":"rim","map":".participation[typeCode=LOC].role"}]},{"id":"Specimen.container.specimenQuantity","path":"Specimen.container.specimenQuantity","short":"Quantity of specimen within container","definition":"The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type.","min":0,"max":"1","type":[{"code":"Quantity","profile":["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"]}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"SAC-23 (value) SAC-24 (units"},{"identity":"rim","map":".playedRole[classCode=CONT].quantity"}]},{"id":"Specimen.condition","path":"Specimen.condition","short":"State of the specimen","definition":"A mode or state of being that describes the nature of the specimen.","comment":"Specimen condition is an observation made about the specimen. It's a point-in-time assessment. It can be used to assess its quality or appropriateness for a specific test.","requirements":"The specimen condition can be used to assess its quality or appropriateness for a specific test.","min":0,"max":"*","type":[{"code":"CodeableConcept"}],"mustSupport":false,"isModifier":false,"isSummary":true,"binding":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName","valueString":"SpecimenCondition"}],"strength":"extensible","description":"Codes describing the state of the specimen.","valueSet":"http://terminology.hl7.org/ValueSet/v2-0493"},"mapping":[{"identity":"v2","map":"SPM-24"}]},{"id":"Specimen.note","path":"Specimen.note","short":"Comments","definition":"To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen).","min":0,"max":"*","type":[{"code":"Annotation"}],"mustSupport":false,"isModifier":false,"isSummary":false,"mapping":[{"identity":"v2","map":"OBX"},{"identity":"rim","map":".inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code=\"annotation\"].value"}]}]}} \ No newline at end of file