Care Plan Generation Service

ICarePlanService in assembly SanteDB.Core.Api version 2.1.151.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 IClinicalProtocol instances) to generate instances of patient CarePlan objects which can then be conveyed to the caller and/or stored in the primary CDR.

Properties

PropertyTypeAccessDescription

Protocols

IList<IClinicalProtocol>

R

Gets the list of protocols which can be or should be used to create the care plans

Operations

OperationResponse/ReturnInput/ParameterDescription

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

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 Guid[] protocols

Create a new care plan (using all available protocols for which the patient is eligible)

Implementations

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 IClinicalProtocol 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.Protocol.SimpleCarePlanService, SanteDB.Core.Api, Version=2.1.151.0, Culture=neutral, PublicKeyToken=null" />
		...
	</serviceProviders>

Example Implementation

/// Example Implementation
using SanteDB.Core.Services;
/// Other usings here
public class MyCarePlanService : SanteDB.Core.Services.ICarePlanService { 
	public String ServiceName => "My own ICarePlanService service";
	/// <summary>
	/// Gets the list of protocols which can be or should be used to create the care plans
	/// </summary>
	public IList<IClinicalProtocol> Protocols {
		get;
	}
	/// <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){
		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,Guid[] protocols){
		throw new System.NotImplementedException();
	}
}

References

Last updated