import type { Reference } from 'fhir/r4'; // A form carries a link either as the stored reference it loaded or as a resource just picked, and the // two shapes must save the same way. Rebuilding a stored one from an id it lacks writes "Type/undefined". export const referenceFromFormItem = ( item: { reference?: string; display?: string; resourceType?: string; id?: string } | undefined, fallbackType?: string, ): Reference | undefined => { if (!item) return undefined; if (item.reference) return item.display ? { reference: item.reference, display: item.display } : { reference: item.reference }; const type = item.resourceType ?? fallbackType; return type && item.id ? { reference: `${type}/${item.id}` } : undefined; };