NIEM / NIEM-Releases

Repository for releases of the National Information Exchange Model
https://niem.github.io/niem-releases/
88 stars 23 forks source link

Refactor software components in Core #118

Closed cdmgtri closed 4 years ago

cdmgtri commented 4 years ago

NIEM currently captures software name and version in nc:SoftwareNameType. Suggest remodeling a bit to allow for a more reusable type with a broader scope that domains and IEPDs can extend or augment.

Current

nc:SoftwareNameType (extends nc:TextType)

Proposed

nc:SoftwareType (extends nc:ItemType)

cdmgtri commented 4 years ago

The Harmonization Workgroup recommends the above changes.

DonClysdale commented 4 years ago

At ESDC we used a type that was copied from older version of biom:

A data type for an application profile specification that is derived from ANSI/NIST-ITL 1-2011update 2013 that included the concept of a Component. Perhaps we can add SoftwareComponent (extends nc:ItemType) with SoftwareComponentAugmentationPoint and have SoftwareType (extends nc:ItemType) with additional elements of SoftwareComponent and SoftwareAugmentationPoint. If we add nc:ItemVersionID (niem-xs:string same as MapVersionID) to nc:ItemType then: SoftwareName is already implemented by nc:ItemName SoftwareVersionText is already implemented by nc:ItemVersionID SoftwareDescriptionText is already implemented by nc:ItemDescriptionText SoftwareOwner is already implemented by nc:ItemOwner covering all the aspects of Software or application profile specification that is derived from ANSI/NIST-ITL 1-2011update 2013
cdmgtri commented 4 years ago

The Harmonization Workgroup also recommends adding nc:SoftwareComponent (nc:SoftwareComponentType extends nc:ItemType) to nc:SoftwareType, with element nc:SoftwareComponentVersionID.

cdmgtri commented 4 years ago

Also harmonized with scr:SoftwareDetailType, moving vendor information to the Core type.

Updated for 5.0 beta1.