public class FhirOptions { public const string Section = "Fhir"; /// Shared secret for integration engine authentication (interim until RBAC). public string? ApiKey { get; set; } /// Identifier systems accepted for Patient.identifier (hospital MRNs). public string[] PatientIdentifierSystems { get; set; } = [ "urn:oid:2.16.840.1.113883.4.1", "http://hospital.example/mrn" ]; /// Identifier systems accepted for Encounter.identifier (visit numbers). public string[] EncounterIdentifierSystems { get; set; } = [ "http://hospital.example/visit" ]; /// System URI VigilCare uses when embedding internal UUIDs in FHIR responses. public string InternalPatientIdSystem { get; set; } = "http://vigilcare.local/patient-id"; public string InternalEncounterIdSystem { get; set; } = "http://vigilcare.local/encounter-id"; public string DefaultDepartment { get; set; } = "GENERAL_MEDICINE"; public string DefaultEncounterType { get; set; } = "INPATIENT"; /// Maps FHIR location/serviceProvider codes to internal department strings. public Dictionary DepartmentCodeMap { get; set; } = new() { ["ICU"] = "ICU", ["EMER"] = "EMERGENCY", ["CARD"] = "CARDIOLOGY", ["SURG"] = "SURGERY", ["PEDI"] = "PEDIATRICS", ["MED"] = "GENERAL_MEDICINE" }; /// Maps FHIR Encounter.class ACT codes to internal encounter type strings. public Dictionary EncounterClassMap { get; set; } = new() { ["IMP"] = "INPATIENT", ["AMB"] = "OUTPATIENT", ["EMER"] = "EMERGENCY" }; }