=== Summary: 675 files | 7 generated | 484 fresh | 4605 untracked | 4268 adopted | 355 marked | 466 validated-ok | 2+0 stale (sig+body) | 0 skipped | 0 failed | elapsed 11:08:11.442 (40091.44s) ===

This commit is contained in:
julian
2026-06-28 02:50:05 -07:00
parent a19fb90902
commit 586f02a2ca
654 changed files with 5260 additions and 0 deletions
@@ -14,21 +14,25 @@ public interface IAdmissionService : IApiRequestService
/// </summary>
/// <param name="admissionId">The unique identifier of the admission to retrieve.</param>
/// <returns>A task that represents the asynchronous operation, containing the <see cref="Admission"/> if found, or <c>null</c> if no admission matches the specified identifier.</returns>
/// <!-- aidoc:v1 sig=11f3852 -->
Task<Admission?> GetAdmissionByIdAsync(ObjectId admissionId);
/// <summary>
/// Asynchronously deletes an admission record identified by the specified admission ID.
/// </summary>
/// <param name="admissionId">The unique identifier of the admission to delete.</param>
/// <!-- aidoc:v1 sig=33e47dc -->
Task DeleteAdmissionByIdAsync(ObjectId admissionId);
/// <summary>
/// Asynchronously deletes the specified admission record.
/// </summary>
/// <param name="admission">The admission entity to remove.</param>
/// <!-- aidoc:v1 sig=f6c9117 -->
Task DeleteAdmissionAsync(Admission admission);
/// <summary>
/// Deletes all admissions associated with the specified unit identifier.
/// </summary>
/// <param name="unitId">The identifier of the unit whose admissions will be deleted.</param>
/// <!-- aidoc:v1 sig=94c7556 -->
Task DeleteAdmissionsByUnitId(ObjectId unitId);
/// <summary>
@@ -36,46 +40,54 @@ public interface IAdmissionService : IApiRequestService
/// </summary>
/// <param name="admission">The admission entity containing the updated data to be persisted.</param>
/// <returns>A task that represents the asynchronous update operation.</returns>
/// <!-- aidoc:v1 sig=4327caa -->
Task UpdateAdmissionAsync(Admission admission);
/// <summary>
/// Asynchronously retrieves a collection of admissions.
/// </summary>
/// <returns>A task that represents the asynchronous operation. The task result contains an enumerable collection of <see cref="Admission"/> objects.</returns>
/// <!-- aidoc:v1 sig=a1ad970 -->
Task<IEnumerable<Admission>> GetAdmissionsAsync();
/// <summary>
/// Asynchronously inserts a new admission record and returns the created entry, or <see langword="null"/> if the insertion was not performed.
/// </summary>
/// <param name="admission">The admission entity to be inserted into the data store.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains the inserted <see cref="Admission"/>, or <see langword="null"/> when no record is produced.</returns>
/// <!-- aidoc:v1 sig=d13b5c5 -->
Task<Admission?> InsertAdmission(Admission admission);
/// <summary>
/// Admits a patient based on the provided admission details, optionally registering the patient as new.
/// </summary>
/// <param name="admission">The admission information used to process the patient admission.</param>
/// <param name="isNew">Indicates whether the patient is being admitted for the first time. Defaults to <c>false</c>.</param>
/// <!-- aidoc:v1 sig=9f57e3f -->
Task AdmitPatient(Admission admission, bool isNew = false);
/// <summary>
/// Processes the return of a patient to the admissions workflow, typically used when a patient needs to be re-queued or reinstated for admission processing.
/// </summary>
/// <param name="patientId">The unique identifier of the patient to be returned to admissions.</param>
/// <!-- aidoc:v1 sig=4258668 -->
Task ReturnPatientToAdmissions(ObjectId patientId);
/// <summary>
/// Asynchronously returns a patient to the admissions workflow using the specified admission record.
/// </summary>
/// <param name="patientId">The unique identifier of the patient being returned to admissions.</param>
/// <param name="adm">The admission record associated with the patient being returned.</param>
/// <!-- aidoc:v1 sig=d4a135f -->
Task ReturnPatientToAdmissions(ObjectId patientId, Admission adm);
/// <summary>
/// Retrieves a list of admissions associated with the specified patient location.
/// </summary>
/// <param name="location">The patient location used to filter the admissions.</param>
/// <returns>A task that represents the asynchronous operation, containing a list of admissions for the given location.</returns>
/// <!-- aidoc:v1 sig=b81f02e -->
Task<List<Admission>> GetAdmissionByLocation(PatientLocation location);
/// <summary>
/// Asynchronously retrieves the list of admissions associated with the specified point of care identifier.
/// </summary>
/// <param name="id">The <see cref="ObjectId"/> of the point of care used to filter the admissions.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains a list of <see cref="Admission"/> objects matching the specified point of care id, or an empty list if no admissions are found.</returns>
/// <!-- aidoc:v1 sig=dc63c5a -->
Task<List<Admission>> GetAdmissionByPointOfCareId(ObjectId id);
/// <summary>
/// Retrieves the list of admissions associated with the specified point of care, localized for the given locale.
@@ -83,18 +95,21 @@ public interface IAdmissionService : IApiRequestService
/// <param name="pocId">The identifier of the point of care whose admissions are being queried.</param>
/// <param name="locale">The locale used to localize the returned admission data.</param>
/// <returns>A task that resolves to the list of admissions matching the point of care and locale; an empty list when no matches are found.</returns>
/// <!-- aidoc:v1 sig=9479688 -->
Task<List<Admission>> GetAdmissionByPointOfCareIdAndLocale(ObjectId pocId, LocaleEnum locale);
/// <summary>
/// Retrieves a list of admissions associated with the specified unit identifier, excluding any Point of Care (PoC) related admissions.
/// </summary>
/// <param name="unitId">The unique identifier of the unit whose admissions should be retrieved.</param>
/// <returns>A task that represents the asynchronous operation. The task result contains a list of admissions for the specified unit, excluding PoC admissions.</returns>
/// <!-- aidoc:v1 sig=609220d -->
Task<List<Admission>> GetAdmissionByUnitIdWithOutPoC(ObjectId unitId);
/// <summary>
/// Asynchronously counts the number of admissions associated with the specified unit identifier.
/// </summary>
/// <param name="unitId">The MongoDB ObjectId of the unit whose admissions should be counted.</param>
/// <returns>A task that represents the asynchronous operation, containing the total count of admissions for the given unit.</returns>
/// <!-- aidoc:v1 sig=d273b51 -->
Task<long> CountAdmissionsByUnitId(ObjectId unitId);
/// <summary>
@@ -103,12 +118,14 @@ public interface IAdmissionService : IApiRequestService
/// <param name="patientNumber">The patient number used to identify the patient.</param>
/// <param name="unitId">The identifier of the unit in which the patient is being searched.</param>
/// <returns>A task that returns the matching <see cref="PatientSearch"/> if found; otherwise, null.</returns>
/// <!-- aidoc:v1 sig=3a4d9fd -->
Task<PatientSearch?> SearchByPatientNumberAndDistinctUnit(string patientNumber, ObjectId unitId);
/// <summary>
/// Retrieves the admission record associated with the specified patient number, returning <c>null</c> when no matching admission is found.
/// </summary>
/// <param name="patientNumber">The unique patient number used to look up the admission.</param>
/// <returns>A task that resolves to the matching <see cref="Admission"/>, or <c>null</c> if no admission exists for the given patient number.</returns>
/// <!-- aidoc:v1 sig=c602701 -->
Task<Admission?> GetAdmissionByPatientNumber(string patientNumber);
/// <summary>
@@ -118,6 +135,7 @@ public interface IAdmissionService : IApiRequestService
/// <param name="unitList">The collection of units associated with the master list item change.</param>
/// <param name="typeName">The name of the type used to identify the master list item category.</param>
/// <returns>A task that represents the asynchronous update operation.</returns>
/// <!-- aidoc:v1 sig=6d7dd8e -->
Task UpdatePatientMasterListItemChange(UpdateOptionMasterListDto opt, IEnumerable<Unit> unitList, string typeName);
/// <summary>
/// Deletes a patient master list item identified by the specified options, units, and type name.
@@ -125,5 +143,6 @@ public interface IAdmissionService : IApiRequestService
/// <param name="opt">The option list used to identify the master list item to delete.</param>
/// <param name="unitList">The collection of units associated with the master list item.</param>
/// <param name="typeName">The name of the type associated with the master list item.</param>
/// <!-- aidoc:v1 sig=bbc71d1 -->
Task DeletePatientMasterListItem(OptionList opt, IEnumerable<Unit> unitList, string typeName);
}