Care Plan Generation Service
IDecisionSupportService
in assembly SanteDB.Core.Api version 3.0.1980.0
Summary
Service contract for service implementations which generate CarePlan instances
Description
The care plan generator is responsible for using the !:IClinicalProtocolRepositoryService (which stores and manages ICdssProtocol instances) to generate instances of patient CarePlan objects which can then be conveyed to the caller and/or stored in the primary CDR.
Operations
CreateCarePlan
CarePlan
Patient patient
Create a new care plan (using all available protocols for which the patient is eligible)
CreateCarePlan
CarePlan
Patient patient Boolean groupAsEncounters
Create a new care plan (using all available protocols for which the patient is eligible)
CreateCarePlan
CarePlan
Patient patient Boolean groupAsEncounters IDictionary<String,Object> parameters ICdssLibrary[] librariesToUse
Create a new care plan (using all available protocols for which the patient is eligible)
Analyze
IEnumerable<DetectedIssue>
Act collectedData ICdssLibrary[] librariesToApply
Instructs the implementation to analyze the data for according to the protocols specified in
AnalyzeGlobal
IEnumerable<DetectedIssue>
Act collectedData
Instructs the implementation to analyze the data provided in using every registered clinical protocol in the SanteDB instance.
Implementations
SimpleCarePlanService - (SanteDB.Core.Api)
Type redirect
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Cdss.SimpleCarePlanService, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
Default Care Planning Service - (SanteDB.Core.Api)
Represents a care plan service that can bundle protocol acts together based on their start/stop times
Description
This implementation of the care plan service is capable of calling ICdssProtocol instances registered from the clinical protocol manager to construct Act instances representing the proposed actions to take for the patient. The care planner is also capable of simple interval hull functions to group these acts together into PatientEncounter instances based on safe time for grouping.
Service Registration
...
<section xsi:type="ApplicationServiceContextConfigurationSection" threadPoolSize="4">
<serviceProviders>
...
<add type="SanteDB.Core.Cdss.SimpleDecisionSupportService, SanteDB.Core.Api, Version=3.0.1980.0, Culture=neutral, PublicKeyToken=null" />
...
</serviceProviders>
Example Implementation
/// Example Implementation
using SanteDB.Core.Services;
/// Other usings here
public class MyDecisionSupportService : SanteDB.Core.Services.IDecisionSupportService {
public String ServiceName => "My own IDecisionSupportService service";
/// <summary>
/// Create a new care plan (using all available protocols for which the patient is eligible)
/// </summary>
public CarePlan CreateCarePlan(Patient patient){
throw new System.NotImplementedException();
}
/// <summary>
/// Create a new care plan (using all available protocols for which the patient is eligible)
/// </summary>
public CarePlan CreateCarePlan(Patient patient,Boolean groupAsEncounters){
throw new System.NotImplementedException();
}
/// <summary>
/// Create a new care plan (using all available protocols for which the patient is eligible)
/// </summary>
public CarePlan CreateCarePlan(Patient patient,Boolean groupAsEncounters,IDictionary<String,Object> parameters,ICdssLibrary[] librariesToUse){
throw new System.NotImplementedException();
}
/// <summary>
/// Instructs the implementation to analyze the data for according to the protocols specified in
/// </summary>
public IEnumerable<DetectedIssue> Analyze(Act collectedData,ICdssLibrary[] librariesToApply){
throw new System.NotImplementedException();
}
/// <summary>
/// Instructs the implementation to analyze the data provided in using every registered clinical protocol in the SanteDB instance.
/// </summary>
public IEnumerable<DetectedIssue> AnalyzeGlobal(Act collectedData){
throw new System.NotImplementedException();
}
}
References
Last updated
Was this helpful?