Case Based Surveillance Implementation Guide
0.2.1 - ci-build
Case Based Surveillance Implementation Guide - Local Development build (v0.2.1). See the Directory of published versions
This page defines the expectations for mandatory and must support elements in the CBS IG Profiles. It provides guidance on how a system may support the resources as profiled by the CBS IG to represent clinical information (Profile Support). Note that the conformance verbs - SHALL, SHOULD, MAY - used in this guide are defined in FHIR Conformance Rules.
The Profiles and Extensions page list the CBS IG Profiles that have been defined for this implementation guide. Core Profile StructureDefinitions defines the minimum elements, extensions, vocabularies and value sets which SHALL be present when using the profile. Each Profile page has a “Quick Start” guide to the supported FHIR RESTfUL transactions for each Profile
The Profile elements consist of both Mandatory and Must Support elements. Mandatory elements are elements with an minimum cardinality of 1 (min=1). The base FHIR Must Support guidance requires specifications to define exactly the support expected for profile elements labeled Must Support. The sections below illustrate how these elements are displayed and define the rules for interpreting profile elements and subelements labeled Mandatory and Must Support for requesters and responders.
There is currently one way to conform to the CBS IG:
Systems may deploy, and support, one or more CBS Profiles to represent clinical information. They are using the profile’s content model without any expectations to implement any further interactions.
To support a CBS Profile, a server:
CapabilityStatement.rest.resource.supportedProfile
element
the CBS Profile’s official or “canonical” URL can be found on each CBS Profile page
Example CapabilityStatement snippet for a server supporting the CBS Patient Profile:
{
"resourceType": "CapabilityStatement",
...
"rest": [
{
"mode": "server",
...
"resource": [
...
{
"type": "Patient",
"supportedProfile": [
"http://cbsig.chai.gatech.edu/StructureDefinition/cbs-patient"
],
...
}
]
}
]
}
When an element is mandatory (min=1), the data is expected to always be present. Very rarely it may not be and guidance for when data is missing is provided in the Missing Data section and in the next section. An example of this is Patient.identifier
.
For querying and reading CBS Profiles, Must Support on any profile data element SHALL be interpreted as follows:
unknown
.
ASK ELLIE ABOUT THIS STUFFReaders are advised to understand FHIR Terminology requirements, FHIR RESTful API based on the HTTP protocol, along with FHIR Data Types, FHIR Search and FHIR Resource formats before implementing CBS IG requirements.
In addition to the guidance provided by FHIR Terminology, Coded elements (CodeableConcept
, Coding
, and code
datatypes) which are marked as Must Support follow the rules for their respective bindings.
Required binding to a value set definition means that one of the codes from the specified value set SHALL be used. For CodeableConcept
using only text is not valid, but multiple codings (translations) are permitted as is discussed below.
For example, the [CBS Condition of Interest Profile] code has a required binding to the National Notifiable Disease Surveillance System (NNDSS) & Other Conditions of Public Health Importance ValueSet. When claiming conformance to this profile,
Condition.code.code
.Condition.code.code
.Extensible Binding to a value set definition means that one of the codes from the specified value set SHALL be used if an applicable concept is present, but if no suitable code exists in the value set, alternate code(s) may be provided in its place. For CodeableConcept
multiple codings are permitted and this rule applies to one of the codings. Also for CodeableConcept
if only text is available, then just text may be used.
To illustrate extensible binding for CodeableConcept datatype, the [CBS Condition of Interest Profile] bodySite element has an extensible binding to the PHIN VADS ValueSet “PHVS_BodySite_CDC”. When claiming conformance to this profile:
Condition.bodySite.code
if the concept exists in the value setCondition.bodySite.text
if only text is available.Condition.bodySite.code
or text in Condition.bodySite.text
Although the FHIR guidance for extensible bindings indicates that all conceptual overlaps including free text be mapped the coded values in the bindings, CBS guidance provides more flexibility for situations where implementers cannot fully comply with the FHIR base guidance. This flexibility is sometimes necessary and expected for legacy and text only data. For newly recorded, non legacy data, a system SHOULD meet the conformance of the value set.
The StructureDefinitions define the CBS Profiles and the ElementDefinition.pattern which is used almost exclusively for the CodeableConcept and Coding datatypes. If the element is marked as must support and defined by a pattern then the pattern defines the elements and element values that the server SHALL be capable of providing.
For example the [CBS Lab Test Report Profile] category element is defined with a pattern requiring fixed values in DiagnosticReport.category.coding.system
and DiagnosticReport.category.coding.code
for a Coding element. When claiming conformance to this profile:
DiagnosticReport.category
DiagnosticReport.category
Primitive elements are single elements with a primitive value. If they are marked as must support, then the server SHALL be capable of providing the element value to meet the must support requirement.
For example, the [CBS Lab Test Report Profile] effectiveDateTime element is a primitive dateTime
datatype. When claiming conformance to this profile:
DiagnosticReport.effectiveDateTime
DiagnosticReport.effectiveDateTime
Complex element are composed of primitive and/or other complex elements. In addition to the general guidance for complex elements in this section, there is additional must support guidance in other sections for the following complex datatypes:
For any complex element marked as must support, the server SHALL be capable of providing at least one of the sub-element values. If any sub-element is marked as must support it must meet the must support requirements as well and satisfy the must support requirement for the parent element.
For example, the US CBS Reporting Source Organization Profile type element is labeled must support and has no must support sub-elements. When claiming conformance to this profile:
Organization.type
sub-element.Organization.type
.On the other hand, if any sub-element is marked as must support and the parent element is not, there is no expectation that you must support the parent. However, if the parent element is represented in the structure you must support the sub-element(s) marked as must support. There are no examples of CBS profiles that have this structure defined.
Systems can support the other elements, but this is not a requirement of the CBS IG.
In certain profiles only a single resource reference is present on an element labeled Must Support.
For example, the [CBS Lab Test Report Profile] specimen CBS Specimen Profile is labeled Must Support. When claiming conformance to the [CBS Lab Test Report Profile]:
DiagnosticReport.specimen
with a valid reference to a CBS Specimen Profile.DiagnosticReport.specimen
with a valid reference to a CBS Specimen Profile.Some elements allow different data types (e.g. Observation.effective[x]) for their content. In these situations, only specific data type choice elements are labeled as Must Support.
For example, the [CBS Lab Observation Profile] effectiveDateTime is labeled Must Support. When claiming conformance to the [CBS Lab Observation Profile]:
Observation.effectiveDateTime
.Observation.effectiveDateTime
.Systems MAY support populating and processing other choice elements (such as, Observation.effectivePeriod) but this is not a requirement of this IG.
For the [CBS Lab Observation Profile] value element, multiple elements are labeled Must Support.
When claiming conformance to the [CBS Lab Observation Profile]:
Observation.valueQuantity
, Observation.valueCodeableConcept
, and Observation.valueString
.Observation.valueQuantity
, Observation.valueCodeableConcept
, and Observation.valueString
.Systems can support the other elements, but this is not a requirement of this IG.