| 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) |
| |