// types/fhir.ts export interface FhirHumanName { use?: | "usual" | "official" | "temp" | "nickname" | "anonymous" | "old" | "maiden"; text: string; family?: string; given?: string[]; prefix?: string[]; suffix?: string[]; period?: { start?: string; end?: string; }; } export interface FhirIdentifier { use?: "usual" | "official" | "temp" | "secondary" | "old"; type?: { coding?: Array<{ system?: string; code?: string; display?: string; }>; }; system?: string; value?: string; period?: { start?: string; end?: string; }; } export interface FhirPatient { resourceType: "Patient"; id?: string; identifier?: FhirIdentifier[]; active?: boolean; name?: FhirHumanName[]; telecom?: Array<{ system?: "phone" | "fax" | "email" | "pager" | "url" | "sms" | "other"; value?: string; use?: "home" | "work" | "temp" | "old" | "mobile"; }>; gender?: "male" | "female" | "other" | "unknown"; birthDate?: string; address?: Array<{ use?: "home" | "work" | "temp" | "old" | "billing"; type?: "postal" | "physical" | "both"; text?: string; line?: string[]; city?: string; district?: string; state?: string; postalCode?: string; country?: string; }>; }