blob: 8db1e62bb1257893e51a53a0876ed25dde4886f9 [file]
Import/Export FHIR
=========================================================
BUGS and ISSUES:
- Slicing property name must be unique
-- e.g. LipidProfile.result -> derive property name as lowerCamelCase from type name (extension name)
- Property type for TypeChoice
-- Issue: in FHIR, Reference is a kind of Type -> using Base
- ElementDef nameReference refers to another 'name'
-- will this only reference a nested class? not clear from FHIR spec
-- a nameReference may have "child components" that further constraint referenced element structure
--- e.g. may subclass the referenced nested class?
--------------------
- HSPC Profile bugs:
-- stdqty ReferenceRange constraint do not have <type>, missing nested subclass with ReferenceRange constraints
- use of aggregation contained (UML composition?) in HSPC std lab
<type>
<code value="Reference"/>
<profile value="http://hl7.org/fhir/StructureDefinition/hspc-Specimen"/>
<aggregation value="contained"/>
</type>
--------------------
PROJECT MANAGEMENT
- Add feature project
- Configure Maven build
--------------------
API
- FHIRModelException, replace all use of System.err.println()
- FHIRModelRuntimeException
--------------------
Model Mapping
- Include support for FHIR mapping, as subset of more general mapping metamodel
--------------------
- Table Editor
-- expand attributes IFF type is a nested class
-- add icon overlay for nested class
- Dynagram
-- BUG: not showing Patient.Link.other, non-composite association from nested class.
-- If nested class, display all inherited, but not from base resource
--- how to determine if a class is base resource (from reference model)?
- Use DITA to publish FHIR model as Help plugin
- Add XML serialization metadata on import, e.g. ElementDefinition <representation value="xmlAttr"/>
***- Assign element.id as Ecore Id
-- create derived model, test re-importing core w/o breaking references
-- Issue: no id for nested classes, also need id for all properties to enable redefine/subset
-- use path as Ecore Id, if no FHIR id?
- Import all *required* value sets (use expansion)
- Import errors:
- indexing: separate maps for SD vs VS (overlapping IDs)
- Cannot find Profile: goal-target#measure
- Generalize import of value*, etc
-- e.g. USLab-ObsCode.valueCodeableConcept
-- DAF-MedicationOrder.medication[x] and .medicationCodeableConcept slices
- TypeChoice
-- all 0..* profiles for each type in choice list
--- or, import each profile as a separate choice member? *****
- Import ElementDef elements:
-- default, fixed, pattern, example
-- minValue, maxValue, maxLength
- Slicing, used in Conformance
-- property subsetting in UML
-- good example: lipid-report-lipidprofile
- Import extensions for StructureDefintion and ElementDefinition
- Extension
-- contextType and context(s)
-- fixed values, for 'uri'
-- test extensions embedded within extensions, e.g. adverseevent-qicore-cause, or condition-dueTo
- Import operations
- Import ElementDef mapping
---------------------------------------------------
EXPORT FHIR
- ElementDefinition name, if not in stereotype and if name is redefined (Extensions)