feature: FHIR R4 Inbound Facade

This commit is contained in:
voltsrage
2026-06-21 13:53:38 +08:00
parent 9f96f54007
commit a43db52813
42 changed files with 2873 additions and 3 deletions
@@ -6,4 +6,5 @@ public interface IEncounterService
Task<EncounterStatusTransitionResult> TransitionStatusAsync(
Guid encounterId, EncounterStatus targetStatus, string? dischargeDiagnosis = null);
Task<object> GetTimelineAsync(Guid encounterId);
Task<Encounter> OpenOrUpdateByIdentifierAsync(FhirEncounterUpsertRequest req);
}
@@ -0,0 +1,11 @@
public interface IExternalIdentifierService
{
Task<Guid?> ResolveInternalIdAsync(
ExternalResourceType resourceType, string system, string value);
Task LinkAsync(
ExternalResourceType resourceType, Guid internalId, string system, string value);
Task<(string System, string Value)?> FindPrimaryIdentifierAsync(
ExternalResourceType resourceType, Guid internalId, string[] acceptedSystems);
}
@@ -4,4 +4,5 @@ public interface IPatientService
Task<PagedResult<Patient>> ListAsync(string? q, int page, int pageSize);
Task<Patient> GetByIdAsync(Guid id);
Task<Encounter> OpenEncounterAsync(Guid patientId, OpenEncounterRequest req);
Task<Patient> RegisterOrUpdateByIdentifierAsync(FhirPatientUpsertRequest req);
}