Files
vigilcare-clinical/VigilCareClinicalAPI/Configuration/FhirOptions.cs
T

48 lines
1.7 KiB
C#

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