Releases: HL7/fhir-shc-vaccination-ig
Releases · HL7/fhir-shc-vaccination-ig
v0.5.0-rc
This is the final RC before our first stable version (v0.5.0) is released.
Changes
General
⚠️ Thesystem
element must be set tohttps://smarthealth.cards/ial
when specifyingmeta.security
IAL1
formeta.security
SHOULD no longer be populated- Updated example links pointing at GitHub to lead to the correct lines
- Prefixed invariants with
vc-
(does not affect resources; only changes display of invariants in the IG) - Substantial cleanup of terminology
- Removed most warnings about IG Validator issues as these have been resolved (🎊). There is still a note about a possible warning related to the FHIR security labels value set, but this is a minor issue.
- Improved guidance on conformance page for when
Resource.meta
should/shouldn't be populated - Added note on home page that this IG does not describe resources meant to be the representation of canonical data in an EHR
- Added note on home page about our approach to cardinality constraints and terminology bindings
- Add unit tests for the IG (see README on GitHub for details)
Immunization
- Added substantial documentation to the beginning of the AD Immunization profile
⚠️ vaccineCode
is now required (technically a breaking change, but should not affect implementers as this was already MS)- Add support for manufacturer, which is required if the system used for
vaccineCode
does not identify the manufacturer - Add warning when
performer.actor.display
is longer than 30 chars - Added support for other code systems in addition to CVX
- Added CVX-specific profiles to assist implementers using this code system for
vaccineCode
- Removed temporary code system URI for CVX
- Remove
reportOrigin
,site
,route
, andfundingSource
value set bindings as these are not MS elements and SHOULD NOT be populated - Improved guidance for
isSubpotent
Lab results
⚠️ Disallowedcategory
⚠️ Madevalue[x]
required (this was already MS, so while technically a breaking change it should not affect implementers)⚠️ Add invariant requiringstatus
to have a value meaning "completed" (technically a breaking change, but should not affect implementers as this element was already required)- Added support for
valueQuantity
, and forreferenceRange
(which SHOULD be populated withvalueQuantity
) - Added support for
valueString
when a computable representation of lab results is not available (this replaces our use ofvalueCodeableConcept.text
for this) - Add warning when
performer.display
>30 chars - Add LOINC answer list options for lab results (previously only SNOMED codes were allowed)
Patient
- Remove reference to "animals" from
short
anddefinition
- Added guidance for partially known or missing birth dates in comment on
birthDate
element ⚠️ Disallowcontact
, and portions ofaddress
to protect privacy
Bundles
⚠️ Make slicing ofentry
closed, which limits the types of resources that can be included⚠️ Improved consistency of DM constraints- Removed
id
from example Bundles - Shortened slice names (does not affect resources, just how slices are displayed in the IG)
- Removed note on the conformance page about combining both lab test results and immunization resources into a single Bundle: this is no longer allowed now that the slice is closed for
entry
.
v0.4.0-rc
Breaking changes
- Settle on
resource:#
syntax forfullUrl
andreference
based on guidance from FHIR-I. This is a SHALL requirement to match the SMART Health Card spec.fullUrl
is now required. - Address- and telecom-related changes in Patient profiles
- Entirely disallow including exact address (
address.line
andaddress.text
) in the AD profile. - The other address elements are marked as “SHOULD NOT populate” in the AD profile. Accordingly, removed MS from
address.country
andaddress.postalCode
in AD profile. address
is entirely disallowed in the DM profile.telecom
is now “SHOULD NOT populate” in the AD profile. It was already entirely disallowed in the DM profile.- We should discuss whether
address
andtelecom
should be entirely disallowed in the AD profile. These are mutable data which may have little long-term value for verification, but has significant privacy downsides.
- Entirely disallow including exact address (
Patient.gender
is now disallowed in AD and DM profiles.- Make DM profiles match the MS flags on the AD counterparts. There were a number of inadvertent inconsistencies which have been resolved.
- Make naming consistent through the IG. This should not break implementations, but could break validation tools.
vaccine
has been replaced withvaccination
throughout, andcovid-19
replaced withcovid19
in StructureDefinition IDs. - Make
Observation.category
1..1
rather than1..
for lab result profiles. This is not expected to break any implementations, but if it does please let us know. - Fix
Immunization.status
to#completed
and disallowstatusReason
entirely. This is technically a breaking change, but shouldn’t affect implementers unless Issuers are issuing credentials for incomplete vaccinations. Patient.photo
is now0..0
, which is technically a breaking change but should not affect implementers.
Other changes
- Omit
id
throughout for data minimization purposes. However, this is technically not allowed (id
can only be omitted when sending a resource to a server with a create request), so we may want to revisit this from a conformance perspective. - Add note that validation with the FHIR validation tool is currently broken and an explanation about why (this is on the Conformance page). We are working on a functional validation workflow.
- Add example links in the expected place within the FHIR IG (a tab on each profile page).
- Move examples out of the FHIR IG in favor of linking to the files on GitHub. This may be a temporary change, but is necessary to avoid spurious errors when publishing the IG.
- Remove all the profile-specific examples in favor of linking to a section within the bundle examples. The content was identical with the profile-specific examples, so this change avoids the possibility of these getting out of sync.
- Update examples to match changes in IG.
- Ability to link to the differential, snapshot, and snapshot (must support) tabs on the profile pages
- Add definition and comments to
Immunization.occurrence
- Add guidance for representing lot number in
Immunization.lotNumber
- Add guidance on providing string laboratory results vs. computable results in
value[x]
comment - Explain using
display
to identify the responsible organization for performing an immunization or lab test. - Add headers on all the AD and DM profiles with a link to the explanation of this pattern, and to their AD/DM counterpart.
- Removed the Excel data dictionary for now. It doesn’t seem to be used and there’s some burden associated with updating it.
v0.3.0-rc
This is the Release Candidate for our first stable release! Thanks to @nkarip co-authoring this, and to everyone who reviewed the IG for their suggestions.
General
- Added
meta.security
proof of concept to Immunization profile, and their examples (please provide feedback on the implementation of this). - Substantial improvements to content on index.html and conformance.html.
- Added dropdown menu for profiles and value sets.
- Added invariant to warn when element strings are >20 chars for MS elements and
id
. - Changed realm from US to Universal.
- Added scripts to facilitate validating examples against the IG in the
scripts/
folder (only needed for IG authors, not implementers).
Patient profiles
- Removed MS label from
Patient.gender
. - Fixed consistency issues with MS labels (
Patient.address
). - Changed
Patient.name
from1..\*
to1..1
in DM profile; we believe more than 1 patient name is an edge case that should rarely, if ever occur. See the details forPatient.name
for more information. - Made
Patient.address.id
andPatient.address.extension
0..0
in the DM profile.
Lab result (observation) profiles
- Made
category[labortory].coding
,.coding.code
, and.coding.system
MS for consistency. - Removed
0..0
forcategory.id
andcategory.text
to fix validation issue.
Bundle profiles
- Switched to separate Bundle profiles for COVID lab results and generic lab results to facilitate validation; added DM versions of both of these bundles as well.
- Added DM version of the VaccineCredentialBundle to facilitate validation.
- Made
Bundle.type
MS since it is1..1
.
Immunization profiles
- MS consistency fixes:
Immunization.patient
andImmunization.vaccineCode
,Immunization.performer.actor
,Immunization.status
. - Added guidance about use of CVX codes.
- Added explanation for handling of
isSubpotent
.
Examples
- Removed
telecom
from Patient examples. - Made
id
consistently use theresource:x
format across examples. - Removed extraneous content from
Scenario2Bundle
example.
Value sets
- Attempted to correct URLs for PHIN VADS and VSAC value sets (see below).
- Removed value sets that were no longer used.
- Added value set for identity assurance.
Known issues
- We are using a temporary value set for CVX codes to avoid valdiator errors. The FHIR CVX value set is being updated, and we will switch back to this before our stable release.
- Other value sets based on PHIN VADS and VSAC are not being expanded. We are working to resolve this.
- The COVID-specific LOINC codes identifying lab tests are not being expanded. This is causing validation errors related to invalid codes. We are working to resolve this.
- We are not providing a way to identify the device/method used to generate the laboratory result. This is a TODO in the FSH code, and needs to either be implemented or removed.
v0.2.1-dev
Bug fixes
- Adds MS to
Patient.address.country
andPatient.address.postalCode
in the AD profile - Removes
0..0
forPatient.address
in the DM profile, and adds0..0
for all theAddress
elements that are notcountry
andpostalCode
Other changes
- Remove
sushi-config.yaml
dependency on US Core (no longer used in this IG)
v0.2.0-dev
v0.2.0 release
Initial release
Initial development release of the IG